多项选择选中的值传递
html页面
<div id="actionSelectBox">
<volist id="item" name="actionList">
<div class="unit">
<input <?php echo in_array($key, $groupActionList) ? "checked" : "" ?> type="checkbox" name="groupActionId[]" value="{$key}"/>{$item}
</div>
</volist>
</div>
提交处理的方法
public function setAction() {
$id = $_POST['groupActionId'];
$groupId = $_POST['groupId'];
$moduleId = $_POST['moduleId'];
$group = D("Role");
$group->delGroupAction($groupId, $moduleId);
$result = $group->setGroupActions($groupId, $id);
if ($result === false) {
$this->error('操作授权失败!');
} else {
$this->success('操作授权成功!');
}
}
function setGroupActions($groupId,$actionIdList)
{
if(empty($actionIdList)) {
return true;
}
if(is_array($actionIdList)) {
$actionIdList = implode(',',$actionIdList);
}
$where = 'a.id ='.$groupId.' AND b.id in('.$actionIdList.')';
$rs = $this->db->execute('INSERT INTO '.$this->tablePrefix.'access (role_id,node_id,pid,level) SELECT a.id, b.id,b.pid,b.level FROM '.$this->tablePrefix.'role a, '.$this->tablePrefix.'node b WHERE '.$where);
if($result===false) {
return false;
}else {
return true;
}
}