取消选择<select>中的顶部选项 - bootstrap multiselect

时间:2016-03-23 06:36:05

标签: javascript jquery html html-select bootstrap-multiselect

我有一个bootstrap multiselect html元素,我填充来自Web服务调用的数据,该调用获取新西兰的区域列表。我需要将这些选项加载到&lt; select&gt;并且默认情况下不选择顶部选项。 我已经尝试了通过内置函数和选项中的bootstrap multiselect完成的所有操作。什么都行不通。所以我使用vanilla javascript或vanilla jquery直接进入普通html并取消选择第一个选项。 所有这方面的工作都可以在这个jsfiddle中完成 我不得不将一个缩小的外部资源(xml2json.min.js)粘贴到javascript编辑器的顶部,因为当我尝试将其添加为外部资源时,它并没有很好地播放。 我试过这个: $(&#34; ul.multiselect容器&#34)。发现(&#34;利&#34)。removeClass(&#34;有源&#34); 它不起作用。它会删除活动类但不会取消选择该选项。如何取消选择该选项? 我试过这个: $(&#34; ul.multiselect容器&#34)找到(&#39;输入[类型=&#34;无线电&#34;:检查]&#39)。丙(&#39;检查& #39;,false); 它没有取消选择该选项。 请查看是否可以取消选择选项的顶部选项。 所以url上面的jsfiddle与上面相同但结尾于182是我的重构,试图让人们更容易理解,但它并没有在我的朋友笔记本电脑上正常工作。 将插件用作&lt; select multiple = true&gt;时默认情况下,它不会选择顶部选项。但是我需要与普通&lt; select&gt;相同的行为。

3 个答案:

答案 0 :(得分:1)

我刚看了一下插件,这就是我的理解,To remove default selection您必须将您的选择设置为 multiple =&#39; multiple&#39; ,这是你可以在下拉列表中看到一个复选框而不是单选按钮。

如果你没有设置这个多选项,那么你最终会有一个单选按钮,这将默认设置第一个值。这是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个示例Simulate single selections using checkboxes

答案 1 :(得分:1)

我重新定义了方法&#34;取消选择&#34;如下。

 this.deselect = function() {
      $('input[type="radio"]:checked').attr('checked', false);
     $(".multiselect-selected-text").text("None selected");
  }

JsFiddle Demo

答案 2 :(得分:0)

select元素的顶部添加一个空选项。