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

最近在工作中,遇到了一个关于select的问题。一般情况下,select下拉框中的数据都是固定的或者直接在jsp中读取列表值显示。但是,这次要实现select与别的选项框联动,也就是要动态添加option数据。查阅了很多资料,终于搞定。下面就分享一下,如何利用JQuery和Ajax实现select动态添加数据。

2.      本文代码实现的是车辆型号根据车辆品牌联动显示的功能。首先,是jsp中的车辆品牌定义,这个很简单。如下:

  1. <li class="form-row">
  2. <span style="white-space:pre">    </span><span class="form-lbl"><i class="tip form-tip">*</i>车系</span>
  3. <select class="form-select" name="modelId">
  4. </select>
  5. </li>

然后,是JS代码:

  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. }

最后,是后台代码:

  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

最新文章

  1. 10天学会phpWeChat——第六天:实现新闻的后台管理
  2. Oracle 游标示例,带异常处理
  3. kvm虚拟机--存储池配置梳理(转)
  4. [转]ASP.NET MVC Dynamic Themes
  5. 新冲刺Sprint3(第一天)
  6. mysql主从配置脚本
  7. rac安装oem
  8. VLLookUp 不同表单按条件赋值
  9. IndexedDB 增删改查 简单的库
  10. SICP 习题 (1.9) 解题总结
  11. 两种Data Table参数化设置的区别
  12. 小程序版好友对战实战-wss部署与小程序用户登录时序
  13. Mac下重新编译Linux内核
  14. django 数据库查询 ORM
  15. ssr 之Nuxt.js
  16. A1036. Boys vs Girls
  17. sql操作总结
  18. log4j组件的用法(log4j1)
  19. FJNU2018低程F jq解救fuls (贪心乱搞)题解
  20. PC/FORTH 判定

热门文章

  1. MesureDeviceWebServiceDAS
  2. 西南大学网络实现路由器WIFI共享方案(一号多用户共享)
  3. Error[Li006]: duplicate definitions for &quot;******&quot;
  4. UCML 2.0 For ASP.NET开发平台简介
  5. Epel源配置
  6. Nginx+jwPlay搭建流媒体服务器,记忆播放
  7. 杂项: Redis
  8. Python中断多重循环的几种思路exit_flag
  9. node中的favicon.icon请求
  10. thinkjs 学习笔记