私は次の (=>) Fiddleを持っています。それが行うことは、値で選択オプションを検索し、見つかったオプションの属性を選択済みとして設定することです。ものすごく単純。このスクリプト (以下に複製) は、IE 9 および FireFox 17 では正常に動作しますが、Chrome または Safari では動作しません。これら 2 つのブラウザは、属性を選択済みとして設定できません。
ここで何か不足していますか?
編集: .attr() ではなく .prop() を使用する必要があったようです。
選択 HTML:
<select id="listmcu">
<option value="1002">PA</option>
<option value="1003">CA</option>
<option value="1004">OR</option>
<option value="1005">FL</option>
<option value="1006">TX</option>
</select>
JQuery;
$(function () {
var mcu = "1005";
alert ('Begin: mcu val = ' + mcu);
//$("#listmcu").find("option:contains('" + mcu + "')").each(function () {
$("#listmcu").find("option[value='" + mcu + "']").each(function () {
alert ('In contains: this val = ' + $(this).val());
if ($(this).val() == mcu) {
//$(this).attr("selected", "selected");
$(this).prop("selected", "selected"); // <== appears to work
}
});
});