jquery Ajax实现Select动态添加数据
程序员文章站
2022-04-10 10:13:28
jquery ajax实现select动态添加数据,具体内容如下
1.背景
最近在工作中,遇到了一个关于select的问题。一般情况下,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:'/getmodellist.do', 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; }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
上一篇: 面试的问题有哪些问题及答案(分享成功面试的十大技巧)
下一篇: JS实现简易的图片拖拽排序实例代码