多个复选框,可以检查所有并取消选中所有

时间:2011-12-24 23:55:24

标签: php javascript html

如何以正确的方式放置复选框的名称,然后可以使用javascript

运行
  <?php $i=1; ?>

    <?php do { $i++; ?>
      <tr>
        <td><input name="<?php echo 'checkbox[$i]' ; ?> " type="checkbox" id="<?php echo $row_RsActivitynoteMem['id']; ?>" value="<?php echo $row_RsActivitynoteMem['id']; ?>" />
        <label for="checkbox"></label></td>
        <td><?php echo $row_RsActivitynoteMem['Sname']; ?> <?php echo $row_RsActivitynoteMem['Ssurname']; ?></td>
        <td width="20"><?php echo $row_RsActivitynoteMem['idactivity']; ?></td>
        <td><?php echo $row_RsActivitynoteMem['kname']; ?></td>
        <td>&nbsp;</td>
      </tr>
      <?php } while ($row_RsActivitynoteMem = mysql_fetch_assoc($RsActivitynoteMem)); ?>
<tr>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td width="20">&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
  </table>
  <input type="button" name="CheckAll" value="Check All"
onClick="checkAll(document.form1.checkbox)">
<input type="button" name="UnCheckAll" value="Uncheck All"
onClick="uncheckAll(document.form1.checkbox)">
<br>

</form>
</body>
</html>
<?php
mysql_free_result($RsActivitynoteMem);
?>

如何在底部工作时使CheckAll工作并在发送到另一个页面时处理复选框变量?

这个javascript工作:

function checkAll(field)
{
for (i = 0; i < field.length; i++)
    field[i].checked = true ;
}

function uncheckAll(field)
{
for (i = 0; i < field.length; i++)
    field[i].checked = false ;
}
//  End --

1 个答案:

答案 0 :(得分:6)

您应该更改第5行代码“name”-attribute,因为PHP不会用单引号解析变量。 它应该是

<?php echo "checkbox[$i]"; ?>

甚至更好

<?php echo sprintf( 'checkbox[%s]', $i ); ?>

否则,HTML文件中的名称实际上就像&lt; input name =“checkbox [$ i]”type =“checkbox”... /&gt;