できるだけ多くのバックストーリーを保存しますが、ここで私が理解しようとしていることはあります。jqueryのバージョン、ajax、Internet Explorerの奇妙な問題
私は2つのドロップダウンを持っています、最初は州のリスト、2番目はその州の学校です。 selectを変更すると、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);
}
});
})
})
エラーを見たいと思った方には、スクリーンショットを新しいメンバーとして投稿することはできません。私はbrowserstackを使ってテストしています。彼らはCompanionJSを使っています。 41行目(forループ)に "Syntax error"があり、42行目に "OptionValue 'がnullまたはオブジェクトではない"と表示され、jquery.min.jsファイルの19行目への参照があります。
お返事ありがとうございます。
エラーを投稿できますか? – SenorAmor
どのようなエラーメッセージが表示されますか?ブラウザのデベロッパーツールを使用して調べます。 –
私はそれがループのために '' null'なのでまたは ' – ckozl