我有以下 (=>) Fiddle。它的作用是按值搜索 Select Option,然后将找到的选项的属性设置为选中。很简单。该脚本(复制如下)在 IE 9 和 FireFox 17 中运行良好,但在 Chrome 或 Safari 中无法正常运行。这 2 个浏览器未能将属性设置为选中。
我在这里错过了什么吗?
编辑:看起来我需要使用 .prop() 而不是 .attr()。
选择 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
}
});
});