ユーザーが特定の教授を選択するドロップダウンボックス(選択)があります。その後、AJAX リクエストはサーバーから JSON データを取得し、別のドロップダウン ボックスにその教授の科目を入力します。2 番目のドロップダウン ボックスは問題なく表示されます。しかし、2 番目のドロップダウン ボックスにある古い値 (「最初に教授を選択してください!」) のテキストは、2 番目のドロップ ダウン ボックスにデータが入力された後も、デフォルトの選択肢として表示されています。
ここにjsがあります:
$('#professorCombo').combobox({
selected: function() {
validateAllFields();
var idProfessor = $(this).val();
var servletUrl = 'GetTeachersServlet?idProfessor=' + idProfessor;
$.getJSON(servletUrl, function(data) {
var subject = $('#subjectCombo');
$('option', subject).remove();
if (data) {
subject.append($("<option/>").val(-1).text("Select subject..."));
$.each(data, function(key, value) {
subject.append($('<option/>').val(key).text(value));
});
} else {
subject.append($("</option/>").val(-1).text("There are no subjects available!"));
}
});
}
});
2 番目のドロップダウン ボックスにデータが入力された後、デフォルトの選択肢は [件名を選択] になります。ドロップダウンボックスを開くと、それが最初の選択肢ですが、ドロップダウンボックスにはまだ古いテキストが表示されます(「最初に教授を選択してください!」)。どうにかリフレッシュした方がいいと思います。また、Firebug は、ドロップダウン ボックスの選択された値が "Select subject" というテキストの値であると言っていますが、これは本当に奇妙です。