Kartik select2 yii2 - Select All and Unselected All 与 select, selection, unselect 事件无关

Posted

技术标签:

【中文标题】Kartik select2 yii2 - Select All and Unselected All 与 select, selection, unselect 事件无关【英文标题】:Kartik select2 yii2 - Select All and Unselected All is not connected with select, selecting, unselect event 【发布时间】:2017-07-05 09:12:47 【问题描述】:

我有选择、取消选择和取消选择事件。但是当我点击全选或取消全选时,这些事件都不会被调用。

这是插件链接 http://demos.krajee.com/widget-details/select2

【问题讨论】:

Selec2 Event List 当我点击全选/取消全选时,没有事件调用 【参考方案1】:

有一个事件被触发。它的逻辑在这里定义:

Select2 Krajee JS Official Source Code

全选的事件名称是krajeeselect2:selectall,取消全选的事件名称是krajeeselect2:unselectall

一如既往地通过 JQuery 消费事件:

$('#myKartikSelect2Id').on("krajeeselect2:selectall", function (e) 
    console.log(e);
);

$('#myKartikSelect2Id').on("krajeeselect2:unselectall", function (e) 
    console.log(e);
);

希望对你有帮助(:

【讨论】:

谢谢。这很有帮助。我正在使用 select2:selectall 这个答案可能部分正确,但不完全正确。在此 krajeeselect2:selectall 事件之后,更改事件正在触发,因此此事件的行为方式与 select2:select 或 select2:unselect 事件不同 @Ish 如果你能详细说明为什么这种行为是不受欢迎的?据我了解,您需要一个在Select AllUnSelect All 上触发的事件,而krajeeselect2:(un)selectall 就是这样做的。源代码没有在(取消)选择所有场景时触发的其他事件。 我有类似的问题,我该怎么办 @ovicko 是问题中解释的问题吗?如果是这样,提供的答案解决了它。如果没有,您能详细说明吗?【参考方案2】:

我没有找到更好的解决方案,但使用此选项,您可以用空白覆盖“全选”复选框。

'toggleAllSettings' => [
   'selectLabel' => '',
   'unselectLabel' => '',
   'selectOptions' => ['class' => 'text-success'],
   'unselectOptions' => ['class' => 'text-danger'],
],

【讨论】:

以上是关于Kartik select2 yii2 - Select All and Unselected All 与 select, selection, unselect 事件无关的主要内容,如果未能解决你的问题,请参考以下文章

kartik\Select2 作为 yii2\grid 中的过滤器输入

不加载kartik 的select2 作为GridView 中的过滤器。 Yii2

YII2:kartik Select2

Yii2. Kartik Select2 小部件宽度

Yii2 Kartik Select2 Ajax 控制器 - 结果未显示

Yii2 Kartik Select2 多个标签输入字符串错误