Yii2 Yii 2 ActiveForm表单字段如何实现;选择全部";复选框列表中的选项?

Yii2 Yii 2 ActiveForm表单字段如何实现;选择全部";复选框列表中的选项?,yii2,checkboxlist,Yii2,Checkboxlist,Yii 2 ActiveForm表单字段如何实现复选框列表中的“全选”选项 <?php $form = ActiveForm::begin([ 'id' => 'form-id', 'type' => ActiveForm::TYPE_HORIZONTAL, 'options' => ['class' => 'well'], ]); ?> <?php echo $form->field($model, 'MY

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)在表单中添加如下内容:

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');
    });
});
#根容器id
替换为该字段容器的实际id。它应该类似于模型名+破折号+菜单描述。请在生成的html输出中查看它。或者,您可以添加另一个名为checkbox的类或生成选择器,这取决于您自己

然后注册这个js,最好是注册到


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

谢谢!你是救世主!