1
jqueryを使用してselectにlazy loadオプションを追加しようとしています。このコードはIE9以外のすべてのブラウザで動作します。 (IE7、IE8、FF、クロームすべての作業)フォーカスを選択するオプションを追加するIE9
function LazyLoadOptionsIntoSelect($select, options) {
//get current option
var selectedOptionVal = $select.val();
var selectedOptionDisplay = $select.find("option:selected").text();
//repopulate options
if (selectedOptionDisplay === "--Select a File--"
|| selectedOptionDisplay === "----------") {
$select.html("");
$("<option>").val("").text("--Select a File--")
.appendTo($select);
}
else {
$select.html($("option:selected", $select));
$("<option>").val("").text("----------")
.appendTo($select);
}
$.each(options, function() {
var item = this;
$("<option>").attr("name", function() { return item.display; })
.val(item.value)
.text(item.display)
.appendTo($select);
});
//select previous val
$select.val(selectedOptionVal);
}
$(document).on("focus", ".html-select", function() {
LazyLoadOptionsIntoSelect($(this), HtmlOptions);
});
$(document).on("focus", ".txt-select", function() {
LazyLoadOptionsIntoSelect($(this), TxtOptions);
});
$(document).on("focus", ".xml-select", function() {
LazyLoadOptionsIntoSelect($(this), XmlOptions);
});
私は時間のためにこれを解決しようとしてきたが、何も作業していない。..任意の溶液または私はIE9のオプションをロードする別の方法を記述する必要があります?
optionsは、valueとdisplayを含むオブジェクトの配列です。
これは単純な使用例では機能しますが、これはMicrosoftが処理するには多すぎるようです。 < _ <
IEの開発コンソールでエラーが発生しましたか? – j08691
私は行きたいと思っています。下矢印をクリックすると、オプションが追加される前にドロップダウンが表示されているのと同じように、クリアされます。私がHTMLを見ると、すべてのオプションが表示されていることがわかります。ちょうどie9はそれらを表示したくありません。 –
jquery 1.7を使用していますが、1.7.1にアップグレードしようとしましたが、同じ問題が発生しました。 –