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) Add checkbox http://www.yiiframework.com/doc-2.0/yii-helpers-basehtml.html#checkbox%28%29-detail像这样的形式:
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');
});
});
Replace #root-container-id
与该字段的容器的实际 ID。它应该类似于型号名称 + 破折号 + MENU_DESC。在生成的 html 输出中查看它。或者您可以添加另一个类或带有复选框名称的构建选择器,这取决于您。
然后注册这个js,最好用assets http://www.yiiframework.com/doc-2.0/guide-structure-assets.html.
如果启用的话,触发点击将用于客户端验证的正确工作。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)