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

Jquery+Ajax实现Select动态添加数据的更多相关文章

  1. (转)Jquery+Ajax实现Select动态定数据

    解决思路: 在数据库中建立类型字典式表.将下拉框需要添加的项,在数据库表里中文.英文名称对应起来. 下拉框动态绑定数据库表中需要字段. <div id="bgDiv" sty ...

  2. js表单动态添加数据并提交

    情景1:已经存在form对象了,动态为form增加对象并提交 function formAppendSubmit(){ var myform=$('#newArticleForm'); //得到for ...

  3. 【javascript 动态添加数据到 HTML 页面】

    今天简单的学习了一下有关对象字面量的定义和 javascript 如何取出对象字面量的值的知识,javascript 动态添加数据到 HTML 页面的问题. [学习目标]有如下的一组数据通过 Ajax ...

  4. 关于devexpress报表XtraReport,动态修改报表样式(.repx格式),动态添加数据并使用的理解

    一.基本概念: XtraReports 中的每个报表都由 XtraRepot 类的一个实例表示,或者由该类的子类来表示(这种情况更常见). 因此,每个报表都作为带区的容器使用,而每个带区中都包含报表控 ...

  5. js对select动态添加和删除OPTION

    <select id="ddlResourceType" onchange="getvalue(this)"> </select> 动态 ...

  6. JS对select动态添加options操作[IE&FireFox兼容]

    <select id="ddlResourceType" onchange="getvalue(this)"> </select> 动态 ...

  7. 2016 系统设计第一期 (档案一)jQuery ajax serialize()方法form提交数据

    jQuery ajax serialize()方法form提交数据,有个很奇怪的问题,好像不能取到隐藏控件的值. //点击提交按钮保存数据 $('#btn_submitUser').click(fun ...

  8. 第27讲 UI组件之 ScrollView与底部动态添加数据

    第27讲 UI组件之 ScrollView与底部动态添加数据 1. ScrollView(滚动视图) ScrollView(滚动视图)是实现滚动的一个控件,只需要将需要滚动的控件添加到ScrollVi ...

  9. 使用js对select动态添加和删除OPTION示例代码

    动态删除select中的所有options.某一项option以及动态添加select中的项option,在IE和FireFox都能测试成功,感兴趣的朋友可以参考下,希望对大家有所帮助   <s ...

随机推荐

  1. php mysql apache 的字符集

    在使用中常常遇到utf-8和utf8,现在终于弄明白他们的使用不同之处了,现在来和大家分享一下,下面我们看一下utf8 和 UTF-8 有什么区别 “UTF-8”是标准写法,php在Windows下边 ...

  2. 读取设置config.ini配置

    class CSenseIni { /************************************************************************/ /*写操作 * ...

  3. Java中的<< 和 >> 和 >>> 详细分析

    <<表示左移移,不分正负数,低位补0: 注:以下数据类型默认为byte-8位 左移时不管正负,低位补0 正数:r = 20 << 2 20的二进制补码:0001 0100 向左 ...

  4. PAT甲级 1002 A+B for Polynomials (25)(25 分)

    1002 A+B for Polynomials (25)(25 分) This time, you are supposed to find A+B where A and B are two po ...

  5. 如何通过.Net Compact Framework来获得应用程序的当前路径

    在Win CE上是没有驱动器的概念的,所以要想使用System.IO.Directory.GetCurrentDirectory()来获得当前路径的话,在CF中会遇到未知错误.   应该使用Path. ...

  6. 【洛谷】P2880 [USACO07JAN]平衡的阵容Balanced Lineup(st表)

    题目背景 题目描述: 每天,农夫 John 的N(1 <= N <= 50,000)头牛总是按同一序列排队. 有一天, John 决定让一些牛们玩一场飞盘比赛. 他准备找一群在对列中为置连 ...

  7. json data 解析demo

    json data: demo: JsonObject jsonObject= JsonHandle.getAsJsonObject(city_dataInfo).get("data&quo ...

  8. IDA Pro 权威指南学习笔记(九) - 数据搜索

    Search -> Next Code 命令将光标移动到下一个包含指令的位置 Jump -> Jump to Function 命令可以打开所有函数,可以迅速选择一个函数并导航到该函数所在 ...

  9. ODPS基础

    遇到一个项目需求是统计128张分库分表的数据表记录的最大id,通过单表查询计算非常费时,也无法应对分表数更多的情况,因此考虑到通过odps进行任务发布和运算 在云端 http://d2.alibaba ...

  10. thymeleaf layout

      摘自:https://tomoya92.github.io/2017/03/09/thymeleaf-layout/   thymeleaf的layout常用的有两种方式用法 第一种将页面里的每个 ...