我试图在没有选中复选框的情况下获取复选框的值,但只有在选中复选框时才会显示该复选框的值,是否有人可以帮助我?我需要在检查时选择 $ row [2] 的值,并在取消选中时,让我“不参加&#39 ;
感谢。代码如下:
while ($row = mysqli_fetch_array($result))
{
echo "<tr><td> "; echo $row[1];
echo "<td> "; echo $row[0];
echo "<td> "; echo "<input type=\"checkbox\" name='check[]' value='".$row[2]."'> </td> ";
echo "<tr>";
}
答案 0 :(得分:0)
正如Sunil在评论中所建议的那样,如果您想保留数据库中的原始值,最好的办法是在表单中添加隐藏字段。
$i = 0;
while ($row = mysqli_fetch_array($result))
{
echo "<tr><td> "; echo $row[1];
echo "<td> "; echo $row[0];
echo "<td> ";
echo "<input type=\"checkbox\" name='check[]' value='".$row[2]."'>";
echo "<input type=\"hidden\" name='check_original" . $i++ . "' value='".$row[2]."'>";
echo "</td>";
echo "<tr>";
}
现在,您的表单中有一个$ _POST ['check_originalX'](其中X对应于复选框的编号),您可以从中检索原始值。
答案 1 :(得分:0)
您可以使用jquery进行未经检查的输入的更改类型试试这个:
$("form").submit(function() {
$("input:checkbox").each(function(){
if (!$(this).is(':checked')) {
$(this).attr({"type":"text","name":"unchecked[]"});
}
});
})
答案 2 :(得分:-2)
如果选中该复选框,则它将包含$ _POST中指定的值。否则,您必须在未选中复选框时设置它:
$value = (isset($_POST['check']) && $_POST['check']) ? $_POST['check'] : "not attended";
或者,扩展代码:
if(isset($_POST['check']) && !empty($_POST['check'])) {
$value = $_POST['check'];
} else {
$value = "not attended";
}
编辑:检查数组中的值时,使用foreach
循环并为每个数组项添加上面的代码。
答案 3 :(得分:-3)
你可以使用isset($_POST['check'][value])
来检查PS“值”变量