jquery Ajax實(shí)現(xiàn)Select動態(tài)添加數(shù)據(jù),具體內(nèi)容如下
1.背景
最近在工作中,遇到了一個關(guān)于select的問題。一般情況下,select下拉框中的數(shù)據(jù)都是固定的或者直接在jsp中讀取列表值顯示。但是,這次要實(shí)現(xiàn)select與別的選項(xiàng)框聯(lián)動,也就是要動態(tài)添加option數(shù)據(jù)。查閱了很多資料,終于搞定。下面就分享一下,如何利用jQuery和Ajax實(shí)現(xiàn)select動態(tài)添加數(shù)據(jù)。 
2.本文代碼實(shí)現(xiàn)的是車輛型號根據(jù)車輛品牌聯(lián)動顯示的功能。首先,是jsp中的車輛品牌定義,這個很簡單。如下:
<li class="form-row"><span style="white-space:pre"> </span><span class="form-lbl"><i class="tip form-tip">*</i>車系</span> <select class="form-select" name="modelId"> </select></li>
然后,是JS代碼:
function getModelList(){  var brandId = $("select[name=brandId]").val();  $("select[name=modelId]").empty(); //清空 $.ajax({url:'/getModelList.do', type:"post", data:{ brandId : brandId }, cache: false, error:function(){ },  success:function(data){ var modelList = data.modelList; if(modelList && modelList.length != 0){ for(var i=0; i<modelList.length; i++){  var option="<option value=/""+modelList[i].modelId+"/"";  if(_LastModelId && _LastModelId==modelList[i].modelId){  option += " selected=/"selected/" "; //默認(rèn)選中  _LastModelId=null;  }  option += ">"+modelList[i].modelName+"</option>"; //動態(tài)添加數(shù)據(jù)  $("select[name=modelId]").append(option); } } } });}最后,是后臺代碼:
@RequestMapping("/getModelList") @ResponseBody public Map getModelList(Integer brandId) { List<SrmsModel> modelList = null; try{ modelList = carInfoManager.getSrmsModelListByBrandId(brandId); }catch(Exception e){ LOGGER.error("獲取年租車輛型號異常:{}", e.getMessage()); } Map<String, Object> returnMap = Maps.newHashMap(); returnMap.put("modelList", modelList); return returnMap; }以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持武林網(wǎng)。
| 
 
 | 
新聞熱點(diǎn)
疑難解答