Jquery+Ajax實現Select動態添加數據


https://blog.csdn.net/zhengxiangwen/article/details/46480687

 

最近在工作中,遇到了一個關於select的問題。一般情況下,select下拉框中的數據都是固定的或者直接在jsp中讀取列表值顯示。但是,這次要實現select與別的選項框聯動,也就是要動態添加option數據。查閱了很多資料,終於搞定。下面就分享一下,如何利用JQuery和Ajax實現select動態添加數據。

2.      本文代碼實現的是車輛型號根據車輛品牌聯動顯示的功能。首先,是jsp中的車輛品牌定義,這個很簡單。如下:

 

[html]  view plain  copy
 
  1. <li class="form-row">  
  2. <span style="white-space:pre">    </span><span class="form-lbl"><class="tip form-tip">*</i>車系</span>  
  3.     <select class="form-select" name="modelId">  
  4.     </select>  
  5. </li>  

 

然后,是JS代碼:

[javascript]  view plain  copy
 
  1. function getModelList(){      
  2.     var brandId = $("select[name=brandId]").val();   
  3.     $("select[name=modelId]").empty();      //清空  
  4.     $.ajax({url:'/getModelList.do',  
  5.         type:"post",  
  6.         data:{  
  7.             brandId : brandId  
  8.         },  
  9.         cache: false,  
  10.         error:function(){  
  11.         },   
  12.         success:function(data){  
  13.             var modelList = data.modelList;  
  14.             if(modelList && modelList.length != 0){  
  15.                 for(var i=0; i<modelList.length; i++){  
  16.                     var option="<option value=\""+modelList[i].modelId+"\"";  
  17.                     if(_LastModelId && _LastModelId==modelList[i].modelId){  
  18.                         option += " selected=\"selected\" "; //默認選中  
  19.                         _LastModelId=null;  
  20.                     }  
  21.                     option += ">"+modelList[i].modelName+"</option>";  //動態添加數據  
  22.                     $("select[name=modelId]").append(option);  
  23.                 }  
  24.         }  
  25.         }  
  26.     });  
  27. }  

最后,是后台代碼:

[java]  view plain  copy
 
  1. @RequestMapping("/getModelList")  
  2.     @ResponseBody  
  3.     public Map getModelList(Integer brandId) {  
  4.         List<SrmsModel> modelList = null;  
  5.         try{  
  6.             modelList = carInfoManager.getSrmsModelListByBrandId(brandId);  
  7.         }catch(Exception e){  
  8.             LOGGER.error("獲取年租車輛型號異常:{}", e.getMessage());  
  9.         }  
  10.         Map<String, Object> returnMap = Maps.newHashMap();  
  11.         returnMap.put("modelList", modelList);  
  12.         return returnMap;  
  13.     }  



版權聲明:本文為博主原創文章,未經博主允許不得轉載。 https://blog.csdn.net/Kevin_zhai/article/details/52038513


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM