在下拉列表中单击时防止 Select2 切换所选项目

Prevent Select2 from toggling selected items when clicking them in the dropdown

当对多值 select 框使用 Select2 (https://select2.github.io/examples.html) 时,您可以从下拉列表中切换 selected 值。有什么办法可以防止这种行为?这样您就只能通过单击旁边的 X 删除 selected 项目。

非常感谢所有帮助。

您可以使用 unselecting 事件:

$(".js-source-states").select2()
  .on("select2:unselecting", function (e) { 
    // make sure we are on the list and not within input box
    if (e.params.args.originalEvent.currentTarget.nodeName === 'LI') {
      e.preventDefault();
    }
  }
);

笨蛋:http://plnkr.co/edit/f8w97dSykPmbCZkN65JA?p=preview

有关详细信息,请参阅 https://select2.github.io/examples.html#programmatic-control

如果要关闭 select,请使用 $example.select2("close"); (https://select2.github.io/examples.html#programmatic)