zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    【Linux】项目部署
    【架构师之路】【MQ】消息队列
    【数据库】【Python】mysql
    【算法】【Python】找出字符串中重复出现的字符 并求出重复次数 且根据重复次数从大到小排列
    【Python】排序 按照list中的字典的某key排序
    Kettle Post请求webservice
    python+pytest+allure接口自动化测试框架
    Python+unittest+requests+htmlTestRunner+excel完整的接口自动化框架
    python实现栈的基本操作
    展示博客园顶部的随笔、文章、评论、阅读量统计数据
  • 原文地址:https://www.cnblogs.com/javaboy2018/p/9173214.html
Copyright © 2011-2022 走看看