ヘルプ!私はjQueryを使用してAJAX呼び出しを行い、ユーザーの以前の入力(サーバー側で入力された別のドロップダウンから)を考慮して動的にドロップダウンを入力しています。Firefox (IE6/7、Opera、Safari) 以外のすべてのブラウザーでは、append 呼び出しによって、既存のオプション「Select An」の下に情報が実際に追加されます。しかし、Firefox では、JQuery アクションを .append または置換 (.html()) に指定したかどうかに関係なく、選択コントロールに与えられた最後の項目が自動的に選択されます。
<select name="Products" id="Products" onchange="getHeadings(this.value);">
<option value="">Select Product</option>
</select>
function getProducts(Category) {
$.ajax({
type: "GET",
url: "getInfo.cfm",
data: "Action=getProducts&Category=" + Category,
success: function(result){
$("#Products").html(result);
}
});
};
何かご意見は?過去に別の空白の最初のオプションを送信してから、JavaScript オプションをトリガーして最初のインデックスを再選択しようとしましたが、これによりコード内で onChange イベントがトリガーされ、ユーザーにとってはかなり面倒です。
アップデート:
スクリプトが返すものの例を次に示します
<option value="3">Option 1</option>
<option value="4">Option 2</option>
<option value="6">Option 3</option>
オプションで、.append() の代わりに .html() メソッドを使用する場合は、別の
<option value="">Select a Product</option>
結果の一番上。
@ダリル・ハイン
スクリプトが返すものの例を次に示します
<option value="3">Option 1</option>
<option value="4">Option 2</option>
<option value="6">Option 3</option>
オプションで、.append() の代わりに .html() メソッドを使用する場合は、別の
<option value="">Select a Product</option>
結果の一番上。