Jquery+Ajax实现Select动态添加数据
2017-01-09 16:30
633 查看
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;
}
最近在工作中,遇到了一个关于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;
}
相关文章推荐
- Jquery+Ajax实现Select动态定数据
- 黄聪:Jquery+php+ajax实现表单异步提交,动态添加回复评论
- 应用jQuery实现表格数据的动态添加与统计
- jQuery实现表单动态添加数据并提交的方法
- Jquery 实现动态添加table tr 和删除tr 以及checkbox的全选 和 获取添加TR删除TR后的数据
- Highcharts AJAX JSON JQuery 实现动态数据交互显示图表 柱形图
- jQuery+ajax实现动态添加表格tr td功能示例
- jQuery实现下拉菜单动态添加数据点击滑出收起其他功能
- jquery将数据以table的形式显示,实现数据统计,分页,以及动态添加,搜索
- ajax异步获取数据,动态添加select标签中的option
- 用html、jquery、php编写新闻后台管理页面,动态添加新闻数据并实现数据的增删改查功能
- 利用JQuery+Ajax实现aspx页面无刷新的动态数据绑定
- jQuery实现动态显示select下拉列表数据的方法
- Highcharts AJAX JSON JQuery 实现动态数据交互显示图表 柱形图
- Highcharts AJAX JSON JQuery 实现动态数据交互显示图表 柱形图
- Highcharts AJAX JSON JQuery 实现动态数据交互显示图表
- Jfinal中实现Ajax动态添加下拉框数据