1

我正在尝试检查复选框列表,直到帖子有效且没有错误。下面是我正在使用的代码。如果有任何帮助,我将不胜感激。

     <?php foreach ($drinks_checkbox as $option => $options){  ?>

     <input type='checkbox' id='drinks[]' name='drinks[]' value='<?php echo $option;?>'   <?php if(!empty($_POST['drinks'])){if($_POST['drinks']==$option){ echo "checked='checked'" ; }}?> /><?php echo $options;?><br />
    <?php } ?>

我可以使用 implode 成功显示选中的复选框,但是我需要上述帮助..

4

1 回答 1

0

$_POST['drinks'] 是一个数组。此外,id 值不需要是 'drinks[]'

尝试这样的事情:

$drinksIndex = 0;
$drinksPost = $_POST['drinks'];
foreach ($drinks_checkbox as $option => $options){  ?>

  <input type='checkbox' id='drinks<?php echo $drinksIndex; ?>' name='drinks[<?php echo $drinksIndex; ?>]' value='<?php echo $option;?>'<?php
  if( !empty($drinksPost[$drinksIndex]) ) echo " checked='checked'";
  $drinksIndex++;
?> /><?php
echo $options;?><br />
<?php
} ?>

修改了 !empty($drinksPost[$drinksIndex]) 部分并更改为关联。

如果这不起作用,你可以包括 $drinks_checkbox

于 2012-05-20T06:02:28.270 回答