jQuery的选择错误(IE8的兼容性视图模式)操作选择

错误的场景:







通过开发工具视图,下拉列表框是选项,但单击选择时不会显示任何内容。

重复步骤:
问题出现在级联下拉框、第一个列表更改和第二个列表的值更改的情况下!
在本例中,使用以下方法绑定数据:
复制代码代码如下所示:
绑定下拉框
/ / ctnselector:下拉框的ID,与#号,
/ / JSONData:JSON数据,
/ / txtfield:文本字段名,
的 / / valfield名称:价值领域,
/ / stroptions:默认添加的项目
功能initselectoptions(ctnselector,JSONData,txtfield,valfield,stroptions){
如果($(ctnselector)。长度= = 0){ return false;};
(ctnselector美元)。Html(' ');
无功optlist = stroptions;
如果(typeof(JSONData)!=未定义的){
对于(VAR带JSONData){
If (jitem = = insertAt jitem removeAt || || = = jitem = = moveTo) {
继续; / / flarej.base.js解决造成的问题。
}
optlist + JSONData { } { }带txtfield + + = ;
}
}
(ctnselector美元)。Html(optlist);
}

正常加载没有问题。
但是,当第一个下拉框的值发生变化时,第二个下拉框将被清空。
然后转到第二个下拉框,然后选择一个下拉框。
然后改变第一个下拉框的选择。
您将发现与第一个下拉框对应的第一个第二个下拉框是如何显示的。
只能通过脚本显示第一个或选定的一个!

解uff1a
使用DOM方法操作选项,代码如下所示:
复制代码代码如下所示:
绑定下拉框
/ / ctnselector:下拉框的ID,与#号,
/ / JSONData:JSON数据,
/ / txtfield:文本字段名,
的 / / valfield名称:价值领域,
/ / stroptions:默认添加的项目
功能initselectoptions(ctnselector,JSONData,txtfield,valfield,stroptions){
如果($(ctnselector)。长度= = 0){ return false;};
$(ctnselector)空();
SEL = $(var ctnselector)得到(0);
无功newopt = $(stroptions);
无功newoption1 = document.createelement(选项);
newoption1.text = newopt.text();
newoption1.value = newopt.val();
Sel.options.add(newoption1);
如果(typeof(JSONData)!=未定义的){
对于(VAR带JSONData){
如果(带= =insertat带后| | | | = = = =带或者){
继续; / / flarej.base.js解决造成的问题。
}
无功newoption = document.createelement(选项);
newoption.text = JSONData { } { }带txtfield;
newoption.value = JSONData { } { }带valfield;
Sel.options.add(newoption);
}
}
}