首頁 > web前端 > js教程 > 主體

jquery Ajax實作Select動態新增資料實例解析

小云云
發布: 2018-05-26 15:53:31
原創
2494 人瀏覽過

本文主要為大家詳細介紹了jquery Ajax實作Select動態新增資料的相關資料,具有一定的參考價值,有興趣的夥伴們可以參考一下,希望能幫助大家。

jquery Ajax實作Select動態新增數據,具體內容如下

1.背景 

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

2.本文程式碼實現的是車輛車型根據車輛品牌連動顯示的功能。 首先,是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:&#39;/getModelList.do&#39;,
 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\" "; //默认选中
  _LastModelId=null;
  }
  option += ">"+modelList[i].modelName+"</option>"; //动态添加数据
  $("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;
 }
登入後複製

#相關推薦:

給Ajax傳回的HTML標籤動態新增樣式的方法

#使用jQuery實作動態新增小廣告詳解

實例分享jQuery動態新增.active 實作導航效果代碼

以上是jquery Ajax實作Select動態新增資料實例解析的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!