IE7中没有填充mootools中的动态下拉列表.IE8工作良好
Dynamic dropdown in mootools is not getting populated in IE7. Working fine in IE8
我正在启动一个ajax调用来获取json响应,我正在下拉列表中填充该响应。
代码为:
var ajaxURL = "abc.ajax";
var fireAjax = new Request.JSON({
url: ajaxURL,
method:'GET',
onSuccess:function(resultjson){
if(resultjson.length!=0){
var elSelect = new Element('option',{'html':'First component','value':'All'}).injectInside($('vehicletype'));
resultjson.each(function(vName){
var elOptions = new Element('option',{'value':vName,'selected':'selected' }).setHTML(vName).injectInside($('vehicletype'));
});
sschecker[0].registerAnotherElement($('vehicletype'));
}
}
}).send();
这在IE8、firefox等中运行良好。
它没有理由不适用于IE7(甚至IE6)。
我已经测试了你的代码:
var ajaxURL = "/echo/json/";
var fireAjax = new Request.JSON({
url: ajaxURL,
method:'POST',
data: {
json: JSON.encode({
opt1: 'option 1',
opt2: 'option 2'
})
},
onSuccess:function(resultjson){
if(resultjson.length!=0){
var elSelect = new Element('option',{'html':'First component', 'value':'All' }).injectInside($('vehicletype'));
Object.each(resultjson,function(value,key){
new Element('option',{'value':key,'html':value}).inject($('vehicletype'));
//sschecker[0].registerAnotherElement($('vehicletype'));
});
}
}
}).send();
我已经将方法更改为POST,并添加了数据。。只是为了能够在jsfiddle中测试它http://jsfiddle.net/F7G9Y/2/..它在IE7上工作(没有IE6 sry)
在我看来(和我的经验),这通常是由于格式错误的JSON,大多数时候是因为额外的昏迷。所以json字符串如下:
{
'foo':'Foo',
'bar':'Bar', //<-extra coma here
}
在Firefox、Chrome上可以,但在IE 上不行
希望这能帮助
相关文章:
- 如何使用jQuery选择下拉列表的值
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- Javascript按钮下拉列表
- jQuery表单添加不适用于下拉列表
- 用每小时的差值填充数组/列表-从下拉列表中给定两个时间值
- 禁用jQuery中的下拉列表
- 如何在按钮中显示下拉列表中选定的元素
- 如何在从多选下拉列表中选择选项值时动态生成文本框
- 如何使用PHP和JS级联三个下拉列表
- 如何在使用剑道 MVVM 下拉列表时强制选择第一项
- 语义ui如何使用javascript启用或禁用下拉列表
- 无法使用PHP动态设置下拉列表中的值
- 如何根据对具有多行的先前列表的选择来动态加载下拉列表
- 下拉列表在使用z索引放置在前面后停止工作
- 从多维嵌套json数组创建下拉列表
- 通过下拉列表框上的 appendChild 方法添加的项目不会显示在 IE8 下
- 下拉列表中的链接选择不起作用的IE8 / 9打开下拉选择链接,警报有效
- 在 js 中循环以设置下拉列表的默认值.在 IE8 中不起作用
- IE7中没有填充mootools中的动态下拉列表.IE8工作良好
- CSS 下拉列表在 IE8 中不起作用