【发布时间】:2013-03-25 11:40:01
【问题描述】:
我通过以下jquery代码选择了多个选择项。
$.map($("[id*='lstWeekDays'] option"), function(e) {
if (jQuery.inArray($.trim($(e).val()), item1) != -1) {
if (!$(":selected", e).is(':checked')) {
$(e).attr("selected", true);
}
}
});
由此,在select元素的option标签中添加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 选择选择列表的项目时,不会选择项目。我知道这个问题有点混乱。所以如果你有任何困惑,请问我
【问题讨论】:
-
$(":selected", e).is(':checked')你确定没有更好的方法吗? -
你看起来很奇怪,我肯定会改变这个......