jQuery的追加<选择>在IE7中不工作,但在Firefox工程
-
05-09-2019 - |
题
我从数据库中通过AJAX获取数据和附加标签的SELECT语句。下面的代码工作在Firefox,但只是部分地在IE中。在IE浏览器的问题是,是会在下拉列表中选择元素,但“文本”属性值是空的(下拉似乎与30个空行!但是,“值”属性值被设置正确(这是HTE主键从我的数据库)。是否有不同的领域,我需要在IE浏览器不是“文字”等设置?下面格兰代码加粗的文字是我认为问题出。顺便说一句,值不为空,而我试图把在在它的位置文字串,它仍然是空白在IE中。
的代码是:
$.each(data, function(key,value){
$("<option>").attr("value", key).attr("text",value).appendTo("#select1");
});
解决方案
我会尝试使用的.text()代替:
$.each(data,
function(key,value){
$("option").attr("value", key)
.text(value)
.appendTo("#select1");
});
我觉得这是你要什么?
其他提示
允许与块引号再次尝试是:
在解决方案应该是:
$.each(data,
function(key,value){
$("<option>").attr("value", key)
.text(value)
.appendTo("#select1");
});
“选项” 需要与包围<>
altCognito是正确的......但是,如果你是通过整数中循环,确保您使用
键/ value.toString() - 而jQuery将不会引发任何错误,将处理它,它会避免额外的开销
这是所有关于性能,对不对? :)
$.each(data,
function(key,value){
$("option").attr("value", key.toString())
.text(value.toString())
.appendTo("#select1");
});
我不认为张贴的解决方案是正确的。我相信它应该是:
$.each(data, function(key,value){
$("").attr("value", key)
.text(value)
.appendTo("#select1");
});
不
$.each(data, function(key,value){
$("option").attr("value", key)
.text(value)
.appendTo("#select1");
});
在<>的得到了某种方式丢弃。
不隶属于 StackOverflow