使用jquery取消选择mutliselection元素

deselect mutliselection element using jquery

本文关键字:mutliselection 元素 选择 取消 jquery 使用      更新时间:2023-09-26

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

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('deselect',$(this).val());

使用removeAttr取消选择

尝试:

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

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

对于一组特定的选项

由于此函数不存在,您可以执行一个循环来取消选择所有选项。

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使其更小。