完成某些计算后如何取消选择选项框

时间:2009-08-05 09:30:06

标签: jquery

只是想知道如何取消选择选项框,我使用了.remove(),但这实际上删除了选择框中的文字,

还有其他办法吗?

感谢

4 个答案:

答案 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/