使用jquery取消选择mutliselection元素

时间:2015-11-17 10:58:43

标签: javascript jquery multiselect.js

我有一个应该清除多选元素值的函数

function multiselectDeselectAll($el) {
   $('option', $el).each(function (element) {
        $el.multiselect('deselect', $(this).val());
   });
}

渲染的html是

<select id="myMultiselect" class="multiselect form-control" name="MyNumbers" multiple="multiple" style="display: none;">
   <option value="One">One</option>
   <option value="Two">Two</option>
   <option value="Three">Three</option>
</select>

我打电话取消选择

multiselectDeselectAll('#myMultiselect');

但我收到错误

  

TypeError:$ el.multiselect不是函数

     

$ el.multiselect(&#39;取消选择&#39;,$(this).val());

2 个答案:

答案 0 :(得分:0)

使用removeAttr取消选择选项

尝试:

$('#myMultiselect option').removeAttr('selected');

$('option[value="One"],option[value="Two"]').removeAttr('selected');

用于特定的选项集

答案 1 :(得分:0)

由于此功能不存在,您可以循环取消选择所有选项。

var q=document.getElementById('myMultiselect').children; // get elements into "#myMultiselect"
for(var i=0,len=q.length;i<len;i++){ // a loop for each "#myMultiselect" element
    q[i].removeAttribute("selected"); // remove the attribute called selected
}

注意:我使用的是JavaScript函数,但您可以使用jQuery将其缩小。