【发布时间】:2010-12-14 10:23:44
【问题描述】:
我有三个复选框,如 ch[0]、ch[1] 和 ch[3](有时我有更多或更少,它是动态的),在 PHP 中我也想获得未选中的项目,如下所示:0 =yes,1=no,3=yes 以此类推。
我能以某种方式解决这个问题吗?
【问题讨论】:
我有三个复选框,如 ch[0]、ch[1] 和 ch[3](有时我有更多或更少,它是动态的),在 PHP 中我也想获得未选中的项目,如下所示:0 =yes,1=no,3=yes 以此类推。
我能以某种方式解决这个问题吗?
【问题讨论】:
一种常见的方法是在复选框旁边放置一个隐藏的表单字段,然后通过 javascript 设置复选框更改时的值。
编辑:您不需要 javascript。但是隐藏字段是一种方法,当您不必知道在发布到的页面上请求页面上有多少复选框时。签出:http://www.felgall.com/xtutf06a.htm
【讨论】:
Unselected checkboxes are not being submitted.所以你只能通过确定所有可用复选框减去选中复选框的集合来确定未选中的复选框。
【讨论】:
如果您在服务器端同时拥有完整列表和选定列表,为什么还需要未选定列表?只需过滤掉选定的,从完整列表中提取未选定的。
【讨论】:
您可以在 HTML 上执行此操作:
<input type="hidden" name="ch[0]" value="no">
<input type="checkbox" name="ch[0]" value="yes">
...
<input type="hidden" name="ch[5]" value="no">
<input type="checkbox" name="ch[5]" value="yes">
并在 PHP 上以常规方式检查:
<?php
$ch = $_REQUEST['ch'];
//then use $ch[0], $ch[1], ..
?>
【讨论】: