ActiveForm::TYPE_HORIZONTAL, 'o-6ren">
gpt4 book ai didi

yii2 - Yii 2 ActiveForm 表单字段如何在复选框列表中实现 "select all"选项?

转载 作者:行者123 更新时间:2023-12-01 10:44:13 24 4
gpt4 key购买 nike

Yii 2 ActiveForm 表单域如何在复选框列表中实现“全选”选项?

<?php
$form = ActiveForm::begin([
'id' => 'form-id',
'type' => ActiveForm::TYPE_HORIZONTAL,
'options' => ['class' => 'well'],
]);
?>

<?php
echo $form->field($model, 'MY_DESC', ['template' => "{label}\n{input}\n{hint}\n{error}"])
->label(false)
->checkboxList($mylist, ['separator' => '<hr>']);
?>

<?= Html::submitButton('submit', ['class' => 'btn btn-primary']) ?>
<?php ActiveForm::end();
?>

最佳答案

1) 添加checkbox像这样到你的表格:

echo Html::checkbox(null, false, [
'label' => 'Check all',
'class' => 'check-all',
]);

2) 添加一些 javascript 使其工作:

$('.check-all').click(function() {
var selector = $(this).is(':checked') ? ':not(:checked)' : ':checked';

$('#root-container-id input[type="checkbox"]' + selector).each(function() {
$(this).trigger('click');
});
});

#root-container-id 替换为该字段的容器的实际 ID。它应该类似于型号名称 + 破折号 + MENU_DESC。在生成的 html 输出中查看它。或者您可以添加另一个类或使用复选框名称构建选择器,这由您决定。

然后注册这个js,最好用assets .

如果启用,触发点击用于客户端验证的正确工作。

关于yii2 - Yii 2 ActiveForm 表单字段如何在复选框列表中实现 "select all"选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28059193/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com