使用jquery取消选择mutliselection元素
deselect mutliselection element using jquery
我有一个函数,应该清除多选元素值
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使其更小。