4

我已经搜索了很多这个问题的答案,但没有找到令人满意的结果。

我有这个代码:

<select name="items[]" size="0" id="feed-items-list" style="width:100%;" multiple="">
<option value="a">a</option>
<option value="b">b</option>
<option value="c">c</option>
</select>

如何删除所有选定的选项?

谢谢!

4

2 回答 2

5

我知道你标记prototypejs了 ,但我以前从未使用过它,而且使用 vanilla JS 很容易。以下是如何遍历<option>s 并查看它们是否被选中:

var select_element = document.getElementById("feed-items-list");
var options = select_element.options;
var i = options.length;
while (i--) {
    var current = options[i];
    if (current.selected) {
        // Do something with the selected option
    }
}

演示:http: //jsfiddle.net/tFhBb/

如果您想从页面中物理删除该选项,请使用:

current.parentNode.removeChild(current);

如果要取消选择它们,请使用:

current.selected = false;
于 2013-04-23T13:37:39.473 回答
2

用 PrototypeJS 做到这一点(正如你标记的问题)

$('feed-items-list').select('option:selected').invoke('remove');

这将使用 CSS 选择器option:selectedfeed-items-list. 然后调用该remove元素上的特定方法。

如果您只想取消选择 Ian 提到的选项

$('feed-items-list').select('option:selected').each(function(i){
    i.selected = false;
});
于 2013-04-23T17:18:17.140 回答