我有以下(=>) 小提琴。它所做的是按值搜索selected,然后将found选项的属性设置为selected。很简单。此脚本(在下面复制)在IE9和FireFox 17中运行良好,但在Chrome或Safari中不起作用。这两个浏览器未能将属性设置为选定的属性。
我是不是漏掉了什么?
编辑:看起来我需要使用.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
}
});
});发布于 2013-04-25 20:05:18
您需要使用它来解决您的问题:
$(this).prop("selected", true);小提琴
发布于 2013-04-25 20:08:35
你对自己太苛刻了。只需在选中框上使用.val,让jQuery来完成繁重的工作:
$(function () {
var mcu = "1005";
alert ('Begin: mcu val = ' + mcu);
$("#listmcu").val(mcu);
});小提琴
https://stackoverflow.com/questions/16223683
复制相似问题