2010-07-13 74 views
0

我有下面的代码在FireFox工作perfeclty,但它不会对IE6在所有的工作:用jQuery选择和IE6遇到问题

$("[name=servicos\\[\\]]").each(function() { 
    this.checked = false; 
    alert(this.name); 
} 
); 

$.getJSON("check_servicos.php?id=" + id, 
function(data) {  
    $.each(data, 
    function(key, val) { 
    alert($("#" + key).attr("id")); 
    if(val > 0) $("#" + key).attr("checked", "checked"); 
    } 
) 
} 
); 

谁能告诉我,我错过了什么,比其他在我的工作中强制升级所有浏览器的方法?

+1

你可以发布你试图选择的CSS/html元素吗? – 2010-07-13 18:46:27

+0

我认为这是第一部分不起作用(*不是getJSON *)。你有错误信息吗?错误的名字? '尝试警报($(“[name = servicos \\ [\\]]”)。length);' – 2010-07-13 18:47:14

+0

所有的元素都是复选框,如果IE6可以给我错误信息,我想知道如何。 – Carlos 2010-07-13 20:19:40

回答

0

检查check_servicos.php是否为JSON设置了正确的内容类型(正确的内容类型在此处讨论:What is the correct JSON content type?)。

当我尝试读取XML并将content-type设置为“text/xml”解决了我的问题时,我遇到了类似的问题。我在这里找到了解决我的问题的解决方案:jQuery .find() doesn't return data in IE but does in Firefox and Chrome

+0

这部分在FireFox上运行良好。在IE上,有些东西使整个功能无法正常工作。 在IE6中没有调用函数内部的一些简单的警告(“This is a test”)。 – Carlos 2010-07-13 20:18:23

+0

刚刚确认设置正确的内容类型不起作用。 我之前看到的唯一一件事是,当我的javascript有错误,FF会告诉我我试图调用的函数不存在。 – Carlos 2010-07-13 20:28:24