带有 Ok/Cancel 按钮的 Sumoselect 在点击后记住选择的值

Sumoselect with Ok/Cancel buttons remember selected values after click away

我正在使用 sumoselect 在我的网站上。

案例 #1:

select 输入中的默认行为,例如标题为 'Multiple select' 的示例页面是 - 打开 select 输入,select 任何项目并单击其他任何地方 = 关闭 select 输入和我的 selected 项目仍然是 selected(在重新打开 select 输入后)。

案例 #2

我想要按钮 ok/cancel - 就像标题为 'Show ok cancel in multiselect' 的示例页面一样,但如果我这样做,行为就会改变。如果我打开 select 输入,select 任何项目并单击其他任何地方 = 关闭 select 输入但项目不是 selected 最远...我必须单击按钮确定记住我的选择

问:如何使用按钮 ok/cancel 实现案例 #1 中的行为? Select 一些项目在点击其他地方后 - 关闭 select 输入,我的选择仍然在这里?

子问题:如何在单击 ok/cancel 按钮时创建一些事件?前任。单击取消并出现类似 $('this').sumo.unSelectAll();

的内容

编辑: 如果我设置

`triggerChangeCombined: false`

选择一些项目并在 'placeholder' 位置单击离开(关闭 select)我将看到我的 selection,但重新打开后 select 输入项目不是t selected.

关于在 ok/Cancel 配置中记住所选选项的初始要求,答案是,根据代码,您不能。

为什么?因为在源代码中,在检测到下拉列表外的点击的地方,有一行显示 'if we are in ok-cancel mode then click the cancel button'。

if (settings.okCancelInMulti)O._cnbtn();

您必须创建一个特殊版本/代码的分支来删除此行并实现您想要的行为。