javascript – 取消选择 – bootstrap multiselect中的顶部选项

我有一个
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个示例,其中说明使用复选框模拟单个选择.

点赞