私は次のコードを使用しています:
(JavaScript の要約)
Input = {};
Input.URL = 'http://my.script.location/script.php';
Input.populateFaculties = function() {
$('#courses').empty();
$('#courses_reset').empty();
$('#faculties').append('<select id="faculty_populated"></select>');
for (var i = 0; i < Input.courses.length; i++) {
$('#faculty_populated').append('<option value="' + Input.courses[i].Faculty_ID + '">' + Input.courses[i].Title + '</option>');
}
$('#faculty_populated').on("click", "option", function(event) {
var id = $(this).val();
UWA.Data.getJson(Input.URL + '?cmd=populateCourses&faculty=' + id, Input.populateCourses);
});
}
Input.populateCourses = function(data) {
$('#faculties').empty();
$('#courses_reset').html('<img src="/user/74/138869.png" style="width:24px;" alt="Reset options" />');
$('#courses_reset').on("click", "img", function(event) {
Input.populateFaculties();
});
$('#courses').append('<select id="courses_populated"></select>');
for (var i = 0; i < data.length; i++) {
$('#courses_populated').append('<option value="' + data[i].Course_ID + '">' + data[i].Course + '</option>');
}
}
(HTMLの要約)
<tr>
<td class="left">Course</td>
<td>
<span id="faculties">
</span>
<span id="courses">
</span>
<span id="courses_reset">
</span>
</td>
</tr>
これは FireFox では完全に機能しますが、Internet Explorer 9 では機能しません。
私が使用している Netvibes UWA ウィジェット フレームワークのために IE が「Quirks」モードになっていることは注目に値します。そのため、強制的に標準モードにすることを制御することはできません。
エラーは表示されませんが、教員のドロップダウンをクリックしても何も起こりません。FireFox では、#faculty
ドロップダウンをクリックすると空になり、データ#faculty
が読み込まれます#courses
。
このコードの中に、Internet Explorer がコードを処理しない理由が明白に見えるものはありますか?