我有一个
bootstrap multiselect html元素,我填写了来自Web服务调用的数据,该调用获取了新西兰的区域列表.我需要将这些选项加载到< select>并且默认情况下不选择顶部选项.
我已经尝试了通过内置函数和选项中的bootstrap multiselect完成的所有操作.什么都行不通.所以我使用vanilla javascript或vanilla jquery直接进入普通html并取消选择第一个选项.
所有相关工作都可以在this jsfiddle完成
我不得不将一个缩小的外部资源(xml2json.min.js)粘贴到javascript编辑器的顶部,因为当我尝试将其添加为外部资源时它没有很好地播放.
我试过这个:
$("ul.multiselect-container").find("li").removeClass("active");
它不起作用.它会删除活动类但不会取消选择该选项.如何取消选择该选项?
我试过这个:
$("ul.multiselect-container").find('input[type="radio":checked]').prop('checked', false);
它不会取消选择该选项.
请查看是否可以取消选择选项的顶部选项.
所以urs上面的jsfiddle与上面相同但结尾于182是我的重构,试图让人们更容易理解,但它并没有最终在我的朋友笔记本电脑上正常工作.
将插件用作< select multiple = true>时默认情况下,它不会选择顶部选项.但是我需要与普通< select>相同的行为.
最佳答案 我只是看了一下插件,这就是我的理解,要删除默认选择,你必须将你的选择设置为multiple =’multiple’,这时你可以在下拉列表中看到一个Checkbox而不是单选按钮.
如果你没有设置这个多选项,那么你最终会有一个单选按钮,这将默认设置第一个值.这是Fiddle which doesnt not select any default的值.我刚刚在动态选择标记中添加了选项multiple =’multiple’.
要选择多选集,并且一次只能选择一个,请使用以下代码.您需要使用此代码块替换您的代码块
$("body").prepend("<select id=\"a-select\" multiple='multiple' >"
+ optionsText +
"</select>");
$('#a-select').multiselect({
on: {
change: function(option, checked) {
alert('sdd');
var values = [];
$('#a-select').each(function() {
if ($(this).val() !== option.val()) {
values.push($(this).val());
}
});
$('#a-select').multiselect('deselect', values);
}
}
});
从http://davidstutz.github.io/bootstrap-multiselect/#further-examples开始的逻辑,请参见此处的第5个示例,其中说明使用复选框模拟单个选择.