Я сохраню как можно большую часть предыстории, но вот что я пытаюсь выяснить.
У меня есть два выпадающих списка, первый - список штатов, второй - школы в этом штате. Изменение выбора вызывает список школ с json и php.
Используя jquery 1.3.2, все отлично работает в Firefox и IE9. В IE8 я получаю синтаксическую ошибку, указывающую на цикл for, и скрипт не работает. Если я могу выяснить, в чем проблема с циклом for, и на самом деле может заставить скрипт работать с 1.3.2, это нормально.
Я пытался перейти на 1.4.4 или более новую версию jquery, и когда я это сделал, скрипт вообще не работает, ни в одном браузере, и в ходе исследований я не смог понять, почему.
Для чего бы то ни было, я также использовал getJSON вместо ajax, если это что-то меняет.
$(document).ready(function(){
$("select#addr_state").change(function(){
$.ajax({
url: 'schools.php',
dataType: 'json',
cache: false,
data: {id: $(this).val(), type: "list"},
success: function(j){
var options = '';
for (var i = 0; i < j.length; i++) {
options += "<option value='" + j[i].optionValue + "'>" + j[i].optionDisplay + "</option>";
}
$("select#school_id").html(options);
}
});
})
})
Для тех, кто хотел увидеть ошибку, он не позволил бы мне опубликовать скриншот в качестве нового участника. Я использую браузер стека для тестирования, и они используют CompanionJS. Я получаю только «Синтаксическая ошибка» в строке 41 (цикл for), затем в строке 42 «OptionValue» является нулем или не объектом », под этим есть ссылки на файл jquery.min.js, строка 19.
Заранее спасибо за любые ответы.