0

我通过以下 jquery 代码选择了多项选择项。

$.map($("[id*='lstWeekDays'] option"), function(e) {
if (jQuery.inArray($.trim($(e).val()), item1) != -1) {

    if (!$(":selected", e).is(':checked')) {
            $(e).attr("selected", true);
        }
    }
});

这样,在选择元素的选项标签中添加了 selected="selected" 属性。

<select style="width:188px;" id="lstWeekDays" multiple="multiple"  size="4">
    <option value="Sunday">Sunday</option>
    <option value="Monday" selected="selected">Monday</option>
    <option value="Tuesday" selected="selected">Tuesday</option>
    <option value="Wednesday">Wednesday</option>
    <option value="Thursday">Thursday</option>
    <option value="Friday">Friday</option>
    <option value="Saturday">Saturday</option>

</select>

现在,当我通过 UI 选择其他元素时,此属性不会从 HTML 中删除,但它们会从选择列表中取消选择。当我再次尝试通过 jquery 选择选择列表的项目时,不会选择项目。我知道这个问题有点令人困惑。所以如果您有任何困惑,请问我

4

1 回答 1

1

尝试使用$(e).prop("selected", true);.

.attr().prop()在更改“运行”属性时设置元素的默认属性。

于 2013-03-25T11:42:51.203 回答