我有一个应该清除多选元素值的函数
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());
答案 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将其缩小。