2010-07-13 3 views
0

У меня есть следующий код работает perfeclty в FireFox, но он не будет работать вообще на 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, которые вы пытаетесь выбрать? –

+0

Я предполагаю, что это первая часть, которая не работает (* не getJSON *). Появляется ли сообщение об ошибке? неправильные имена? 'try alert ($ (" [name = servicos \\ [\\]] "). length);' –

+0

Все элементы являются флажками, и если IE6 может дать мне сообщения об ошибках, я хотел бы знать, как, пожалуйста. – Carlos

ответ

0

Проверьте, что check_servicos.php устанавливает правильный тип содержимого для JSON (здесь используется правильный тип содержимого: What is the correct JSON content type?).

У меня была аналогичная проблема при попытке прочитать XML и настройка типа содержимого на «text/xml» решила мою проблему. Я нашел решение моей проблемы здесь: jQuery .find() doesn't return data in IE but does in Firefox and Chrome.

+0

Эта часть отлично работала на FireFox. В IE что-то удерживает всю функцию от работы. Даже что-то столь же простое, как предупреждение («Это тест») внутри функции не вызывается в IE6. – Carlos

+0

Просто подтвердил, что настройка правильного типа контента не работает. Единственное, что я видел раньше, - это когда у моего javascript была ошибка, и FF скажет мне, что функция, которую я пытался вызвать, не существует. – Carlos