基于php数组的jquery检查复选框

时间:2010-06-27 23:46:52

标签: php jquery arrays checkbox

我有一个php数组,其中包含复选框的mysql值,这些值已经被选中。我正在尝试进行各种编辑页面,这些页面将显示已经选中的复选框,但似乎有问题。我尝试了不同的方法,但似乎无法让它发挥作用。

这是我以前选中的复选框的php数组:

Array
(
    [0] => 1
    [1] => 3
)

这是我的复选框:

<input type="checkbox" name="company[]" id="company[]" value="1">
<input type="checkbox" name="company[]" id="company[]" value="4">
<input type="checkbox" name="company[]" id="company[]" value="2">
<input type="checkbox" name="company[]" id="company[]" value="3">

我似乎无法弄清楚如何将复选框(从php数组 - 值1和3)添加到已经被选中..

3 个答案:

答案 0 :(得分:1)

<input type="checkbox" name="company[]" id="company[]" value="1" checked>

如果您特别希望jQuery这样做: http://www.electrictoolbox.com/check-uncheck-checkbox-jquery/

答案 1 :(得分:1)

最简单的方法是在服务器端执行此操作:

foreach ($array as $value) {
  $che = $value? "checked":"";
  print '<input type="checkbox" name="company[]" id="company[]" value="1" '.$che.'>';
}

答案 2 :(得分:1)

这是在创建页面时执行此操作的服务器端解决方案。

<?php
function check_checked($index,$check_array){
  if (in_array($index,$check_array)){ echo 'checked="checked"';}
  }
$checked=array(1,3);
?>
<input type="checkbox" name="company[]" id="company[]" value="1" <?php check_checked(1,$checked);?>>
<input type="checkbox" name="company[]" id="company[]" value="4" <?php check_checked(4,$checked);?>>
<input type="checkbox" name="company[]" id="company[]" value="2" <?php check_checked(2,$checked);?>>
<input type="checkbox" name="company[]" id="company[]" value="3" <?php check_checked(3,$checked);?>>

如果您打算使用JavaScript,我建议将数组打印到带有json_encode的JS var中并从那里开始。但是,服务器端更有意义,因为您已经拥有了数据。