JQuery操作select的options的bug(ie8兼容性视图模式)
Bug现场:
通过开发人员工具查看,下拉列表框是有Options的,但你点击选择的时候却什么也不显示。
JQuery操作select的options的bug(ie8兼容性视图模式)
Bug现场:
//绑定下拉框 //ctnSelector:下拉框ID,带#号, //jsondata:JSON数据, //txtField:文本字段名称, //valFIEld:值字段名称, //strOptions:默认填加的项 function InitSelectOptions(ctnSelector, JSonDAta, txtField, valField, strOptions) { if ($(ctnSelector).length == 0) { return false; }; $(ctnSelector).html(''); var optlist = strOptions; if (typeof (jsonData) != undefined) { for (var jitem in jsonData) { if (jitem == "insertAt" || jitem == "removeAt" || jitem == "moveTo") { continue; //解决flareJ.Base.js导致的问题。 } optList += "<option value='" + jsonData[jitem][valField] + "'>" + jsonData[jitem][txtField] + "</option>"; } } $(ctnSelector).HTML(optList); }正常加载时不会出现任何问题!
只能显示第一个,或是通过脚本设置为选中的一个!
使用DOM的方法去操作Options,代码如下:
//绑定下拉框
//ctnSelector:下拉框ID,带#号,
//jsonData:JSON数据,
//txtField:文本字段名称,
//valField:值字段名称,
//strOptions:默认填加的项
function InitSelectOptions(ctnSelector, jsonData, txtField, valField, strOptions) {
if ($(ctnSelector).length == 0) { return false; };
$(ctnSelector).empty();
var sel = $(ctnSelector).get(0);
var newOpt = $(strOptions);
var newOption1 = document.createElement("OPTION");
newOption1.text = newOpt.text();
newOption1.value = newOpt.val();
sel.options.add(newOption1);
if (typeof (jsonData) != undefined) {
for (var jitem in jsonData) {
if (jitem == "insertAt" || jitem == "removeAt" || jitem == "moveTo") {
continue; //解决flareJ.Base.js导致的问题。
}
var newOption = document.createElement("OPTION");
newOption.text = jsonData[jitem][txtField];
newOption.value = jsonData[jitem][valField];
sel.options.add(newOption);
}
}
} 
如何把表单序列化成一个Object对象09-18


聊聊那些常用的jQuery选择器04-06

jQuery 表单验证扩展(四)02-04

js判断图片是否加载完成02-10

网友评论文明上网理性发言 已有0人参与
发表评论: