私はドロップダウンボックス(選択)を使用して、特定の教授を選択します。その後、AJAXリクエストはサーバーからJSONデータを取得し、その教授の件名を持つ別のドロップダウンボックスに入力します。 2番目のドロップダウンボックスに問題はありません。しかし、2番目のドロップダウンボックスに古い値のテキスト( "先に教授を選択してください!")が表示されています。ここでJQuery:Selectが設定されていますが、表示されるテキストが古いです
は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 Subjects"という値であり、これは本当に不思議です。
これは論理的な解決策ですが、2番目のドロップダウンでも古いテキストが表示されます。とにかくありがとう。 –
どこに行を追加しましたか?あなたのif(data){...}セクションの最後にあるはずです。 – Jlange
最初に私はそれを追加しました:subject.append($( "").val(-1).text( "Select subject ..."));データを反復処理した後に入れようとしましたが、diffrenceはありません。 –