问题描述
|
嗨,我有这样的表格
<form method=post action=\"control.PHP\">
<input name=\"cat[]\" type=\"checkBox\" value=\"blabla\" checked>blabla
<input name=\"cat[]\" type=\"checkBox\" value=\"bleble\" checked>bleble
.
.
.
<input name=\"send\" type=\"submit\" id=\"send\" value=\"send\">
</form>
在control.PHP中,当我使用$ _POST [cat]时,我想取消选中复选框。我怎样才能做到这一点?感谢帮助...
解决方法
复选框组(
cat[]
)可以使用foreach从数组轻松生成。
$cat=array(
\'blabla\' => \'blabla\',\'bleble\' => \'bleble\',...
);
<? foreach ($cat as $k=>$v) : ?>
<input name=\"cat[]\" type=\"checkbox\" value=\"<?=$k?>\" checked /><?=$v?>
<? endforeach; ?>
如果您有一个包含所有可能复选框的数组,则将其与选定复选框的POSTed数组进行比较,并找出缺少的复选框非常容易。
您可以使用array_diff:
$unchecked=array_diff(array_keys($cat),$_POST[\'cat\']);
,您无法获取未选中的框,只能获取已选中的框。
如果需要未选中的框,则必须查看已选中的框并找出未选中的框。