总结:
1、同一个界面若包含新增、修改,若select的id、name都一样, 通过jquery赋值,会出现只赋值一个的现象,优先赋值第一个,所以需要更改成不同的id、name。
2、默认选中设置
$('#serviceType option:eq(1)').attr('selected','selected');//设置的几个选中
$("#serviceType").val("111");//根据value值选中
3、<select id="serviceType" name="serviceType" type="select"></select> 注意type=“select”一定加上,否则传递的一针是id,一阵是name,
简单示例,伪代码如下:
jsp:
新增界面 <select id="serviceType" name="serviceType" type="select"></select>
修改界面 <select id="serviceType2" name="serviceType2" type="select"></select>
js:
/**
* 初始化方法
*/
$(function() {
//初始select
var oSelect = new SelectInit();
oSelect.Init();
});
/**
* select 初始化
*/
var SelectInit = function() {
var oSelectInit = new Object();
oSelectInit.Init = function() {
$.ajax({
type: 'POST',
url: "http://localhost:8080/platform/esb/fwzc/querySelect.do",
dataType:"json",//返回json格式
async: false,
traditional: true,
success: function(data) {
//清空
$("#serviceType").empty();
$("#serviceType2").empty();
//值重新加载
var obj=data.moreData.data;
for(var i=0;i<obj.length;i++){
var id=obj[i].id;
var name=obj[i].name;
$("#serviceType").append("<option value="+id+">"+name+"</option>")
$("#serviceType2").append("<option value="+id+">"+name+"</option>")
}
}
});
}
return oSelectInit;
}
controller:
/**
* 服务类型
* @return
* @throws Exception
*/
@RequestMapping(QUERY_SELECT)
public ResponseData querySelect() throws Exception{
List<DataDictionaryKey> dataDictionaryKeyList = dataDictionaryKeyService.selectListByCriteria(DataDictionaryKeyQuery.createOneCriteria().andDescriptionEqualTo("tyfw"));
// 返回数据
ResponseData responseData = ResponseDataContext.getResponseData();
responseData.writeData(dataDictionaryKeyList);
responseData.setMessage("查询记录!");
return responseData;
}