我會盡可能多地保存背景故事,但以下是我想要弄清楚的。jquery版本,ajax和Internet Explorer的奇怪問題
我有兩個下拉列表,第一個是狀態列表,第二個是該州的學校。使用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行的引用。
在此先感謝您的答覆。
你能發佈你的錯誤嗎? – SenorAmor 2012-02-28 19:04:09
你得到什麼樣的錯誤信息?使用瀏覽器中的開發人員工具查找。 – 2012-02-28 19:04:53
我想如果它指向for循環'j'是'null'或'undefined' – ckozl 2012-02-28 19:08:55