Yii2.0 的多选框实现方法 [ 2.0 版本 ]
下面介绍一下 Yii2.0 的 多选框实现方法
第一种:ActiveForm::checkboxList();
优点:可以将全部数据生成多选框,自带验证
$form->field($model, 'username')->checkboxList(ArrayHelper::map($data,'id', 'customer_name'));
第二种:ActiveForm::checkbox();
优点:只生成一个多选框,自带验证
$form->field($model, 'username')->checkbox(ArrayHelper::map($data,'id', 'customer_name'));
第三种:Html::activeCheckbox();
Html::activeCheckbox($model, 'username', ArrayHelper::map($data,'id', 'customer_name'));
第四种:Html::activeCheckboxList();
Html::activeCheckboxList($model, 'username', ArrayHelper::map($data,'id', 'customer_name'));
小伙儿 陕西省
注册时间:2014-08-18
最后登录:2020-06-03
在线时长:295小时3分
最后登录:2020-06-03
在线时长:295小时3分
- 粉丝272
- 金钱2077
- 威望175
- 积分6777
共 7 条评论
参数不介绍下啊。。.可惜了
回头我一定补上,好不啦
@小伙儿 补一下参数吧
小伙儿又出教程了,赞
我的复选框 为什么提交的时候会有一个隐藏域生成啊,这个可以去掉吗? 我提交的时候已选择的值前面会有一个空值,验证的时候就会报复选框不是整数或者不是字符串?
public function actionUpdate($id) { $this->addPath('update'); //设置页面路径 $this->addBtn(['新增' => ['create']]); //添加新增按钮 $model = $this->findModel($id); $model->trade_ids = array_filter(explode(',', $model->trade_ids)); if ($model->load(Yii::$app->request->post()) && $model->save()) { return $this->succ(); } else { return $this->renderForm('form', [ 'model' => $model, ]); } }
咋能默认选中呢
非常简单 你可以在 控制器 里面使用 loadDefaultValues() 方法来加载默认值 或者在 render 页面之前 为属性赋值 比如 $model->title = 'yii2 的下来菜单默认值' 这样页面就有默认值了 不会的在 @ 我
@小伙儿 参数解释下
@15807105408 好的 ArrayHelper::map() 此方法会取出数组中的指定列的值 第一个参数是 数据源 第二个参数是 多选框的值 第三个值是 多选框的那个值 举个例子吧
第三个参数
你整明白了吗??
明白了,think you
@小伙儿 多选框的多个默认选中(二次编辑时),确定可以吗?
很好,完美。。。
谢谢 只要能帮助到你们 我就很开心了
如何实现横向排列呢?
checkboxlist()提交的数据,应在Model里写个beforeSave,把post得到的多选框数组进行序列化,才能全部保存在一个字段里。