$form->checkBoxList 循环形式 [ 新手入门 ]
当我们需要一个多选框的时候往往不是在一个条件下获得的 这个时候可能就遇到了这问题
foreach($array as $key=>$val){
$val;
$form->checkBoxList($model,name);
}
这时候控制器接受不到 $_post[]->name;
的值
因为此时的name应该是数组
所以修改为 $form->checkBoxList($model,name[]);
这样我们可以再控制器获得name的数组
问题:
这时候添加没问题了
但是在修改的时候 name[] 却不能获得所需的值
如果不是循环格式这样做就没问题
现在没法修改 修改的时候 的形式 $form->checkBoxList($model,name);
这样缺没问题
前后矛盾 求高人指点
共 7 条回复
-
foreach($department_array as $item){ //部门循环开始 echo "<a href='#' onclick='shownames(\"choosen_dept_".$item['id']."\")'>".$item['name']."</a>"; echo "</br>"; ?> <div style="display:none" id="choosen_dept_<?php echo $item['id'] ?>"> <?php echo $form->checkBoxList($model,'choosen[]',CHtml::listData(Staff::model()->findAllBySql("select id,name from oa_staff where dept_id>:dept_id and dept_id=:dept_value and job_status!=3",array(':dept_id'=>'1',':dept_value'=>$item['id'])),'id','name'), array('separator'=>' ' , 'labelOptions'=>array('style'=>'display:inline;'))); echo "</br>"; ?> </div> <?php } //部门循环结束
我现在这个 是foreach出来每一个部门
多选为各部门下面的所有人
现在choosen[]可以传值 但是修改的时候接收不到值 -
也许是我没理解你的意思,我想你应该是想生成多个chekboxlist组合在一起,然后post传值到controller中去,因为chekboxlist,所以name值是一个一维数组,我想你是想要在controller中获得一个二维数组,那么区分选中的name值,你可以这样
foreach($array as $key=>$val){ $val; $form->checkBoxList($model,name[$val->id]);//如果$val是一个对象的话 }
在controller中就可以用比如是
$_POST[model][name]
获取选中的二维数组值;
试试看,我也不知道这样行不行得通
dapeng
注册时间:2012-08-12
最后登录:2014-07-26
在线时长:0小时20分
最后登录:2014-07-26
在线时长:0小时20分
- 粉丝2
- 金钱1160
- 威望0
- 积分1160