只是想知道如何取消选择选项框,我使用了.remove(),但这实际上删除了选择框中的文字,
还有其他办法吗?
感谢
答案 0 :(得分:17)
$('#mySelectBox :selected').attr('selected', '');
其中#mySelectBox是select元素的id。
答案 1 :(得分:7)
对于具有单个选项的选择框和具有多个选项的选择框,这些情况会有所不同。
对于具有单个选项的选择框:
<select id='selectbox'>
jQuery代码:
$('#button').click(function() {
$('#selectbox').attr('selectedIndex', '-1');
});
注意:您需要此变体才能使其在Internet Explorer中正常运行。以下示例也适用于Internet Explorer中的单个选项文本框。
对于具有多个选项的选择框:
<select id='selectbox' multiple='multiple'>
jQuery代码:
$('#button').click(function() {
$('#selectbox option').attr('selected', '');
});
答案 2 :(得分:1)
非常延迟的回复,但我发现这对于精选倍数更有效,所以希望可以帮助在Google上发现这一点的其他人。
$('#button').click(function() {
$('#selectbox option').removeAttr('selected');
});
答案 3 :(得分:0)
非常晚的回答,但我找不到任何与非多选框有关的内容,所以我自己写了。
var chg = 0; // global to unselect
$("#myoptions").on({
mousedown : function(){
chg = 0;
},
change : function() {
chg = 1;
},
click: function() {
if (chg !== 1) {
$("#myoptions")[0].selectedIndex = -1;
}
}
});
我在Chrome和IE8中对此进行了测试。
它允许您选择,然后使用多个选择框取消选择。您不必使用CTRL键,但如果您这样做仍然有效。
这是一个jsFiddle:http://jsfiddle.net/rkekvows/