jquery选择多个:如何在选择

时间:2017-05-21 18:20:37

标签: javascript jquery drop-down-menu jquery-chosen

我正在使用Chosen给我的<select>一个正确的外观和一个搜索输入。

问题是,当用户打开下拉菜单选择他想要的选项时,<select multiple>使用<select>,我希望在点击之间保持下拉列表打开。在每个选项选择之间重新打开菜单真的很烦人。

我搜索了Chosen documentation并通过互联网搜索但我无法通过选择进行搜索。

以下是我写<select multiple="multiple" id="foo" class="chosenSelect"> <option value="NULL" disabled>Chose multiple somthing</option>'; <option value="bar1">foobar1</option>'; <option value="bar2">foobar2</option>'; <option value="bar3">foobar3</option>'; </select> 的方式以及如何应用选择(没什么特别的):

$('.chosenSelect').chosen();

const logEntry = 'Received message from ' ${from} ' with ^ SyntaxError: Unexpected identifier

at createScript (vm.js:56:10) at Object.runInThisContext (vm.js:97:10) at Module._compile (module.js:542:28) at Object.Module._extensions..js (module.js:579:10) at Module.load (module.js:487:32) at tryModuleLoad (module.js:446:12) at Function.Module._load (module.js:438:3) at Module.runMain (module.js:604:10) at run (bootstrap_node.js:390:7) at startup (bootstrap_node.js:150:9)

欢迎任何帮助。

4 个答案:

答案 0 :(得分:1)

我不熟悉Chosen库;所以,如果图书馆本身有更好的解决方案,我会推迟到那个解决方案。

但是,如果您找不到更好的解决方案,但仍需要该功能,则可以使用此 hack

$('.chosen-results').bind('click', function(e) {
  setTimeout(function() {
    $(e.currentTarget).parent().siblings('.chosen-choices').click()
  });
});

我重申,这是一个黑客,如果你没有找到别的,你应该只使用它。如果我找到更好的东西,我会编辑答案。

答案 1 :(得分:1)

为更改事件添加单击触发器

$("select").chosen().change(function() {
 $(".search-field").trigger("click")
})

答案 2 :(得分:0)

我同意@squgeim发布的解决方案。 但是,在我选择了某些内容后,搜索条件就无法保留。如果我有一个超长下拉列表,滚动条将弹回到顶部。 为了保持我之前的搜索条件,我对@ squgeim的答案做了一些更新:

$eventHandler = new PLUGINKEY_CLASS_EventHandler();
$eventHandler->init();

答案 3 :(得分:0)

hide_results_on_select设置为false