jquery.multiselect和jquery.selectbox之间的冲突

时间:2014-06-13 03:18:15

标签: javascript jquery html jquery-ui

我在我的应用程序中使用 jquery.multiselect.js jquery.selectbox-0.2.js 进行多选下拉和单选下拉。

我能够完全单独使用两个下拉菜单。如果我有一个包含下拉菜单的页面,我遇到了问题。 问题是,多点选择下拉列表在外部点击时没有关闭。单选下拉列表没有问题。因此,一旦我展开多选下拉菜单并单击页面上的某个位置,它就不会关闭。

2 个答案:

答案 0 :(得分:0)

您的选择器是什么样的?您的选择器一般包含select个元素,还是包含多个选择的元素?例如:

$('select').multiSelect();

会影响所有select元素,包括绑定到selectbox插件的元素。

如果还没有,请确保您的多选插件仅影响具有multiple属性的select元素:

$('select[multiple]').multiSelect();

您的selectbox插件可能也会影响多选元素。您需要从具有multiple属性的选项中筛选这些选择。你可以这两种方式:

  1. 使用标识类(即class="single-select")提供单个选择,这更加详细。
  2. 使用jQuery的:not()选择器,如下所示:$('select:not([multiple])').selectbox();

答案 1 :(得分:0)

Jquery select box插件具有以下功能

$("html").on('mousedown', function(e) {
    e.stopPropagation();          
    $("select").selectbox('close'); 
});

我评论了e.stopPropagation(); line ..现在点击外面,它调用mutiselect中的buur方法...那是关闭...我明白因为e.stopPropagation(),mutiselect的关闭没有被提前调用..