Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
基于php数组的jquery复选框_Php_Jquery_Arrays_Checkbox - Fatal编程技术网

基于php数组的jquery复选框

基于php数组的jquery复选框,php,jquery,arrays,checkbox,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=

我有一个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">
这是我的复选框:

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)已被选中。


<input type="checkbox" name="company[]" id="company[]" value="1" checked>
如果您特别希望jQuery这样做:


如果您特别希望jQuery这样做:
最简单的方法是在服务器端执行:

foreach ($array as $value) {
  $che = $value? "checked":"";
  print '<input type="checkbox" name="company[]" id="company[]" value="1" '.$che.'>';
}
foreach($array作为$value){
$che=$value?“选中”:“;
打印“”;
}

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

foreach ($array as $value) {
  $che = $value? "checked":"";
  print '<input type="checkbox" name="company[]" id="company[]" value="1" '.$che.'>';
}
foreach($array作为$value){
$che=$value?“选中”:“;
打印“”;
}

在创建页面时,这里有一个服务器端解决方案

<?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中,并从那里开始。不过,服务器端更有意义,因为您已经有了开始使用的数据。

这里有一个服务器端解决方案,可以在创建页面时执行此操作

<?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中,并从那里开始。不过,服务器端更有意义,因为您已经有了开始使用的数据。

注意:如果您不希望firefox在页面刷新/重新加载时缓存选中的值,请添加autocomplete=“false”。当然,autocomplete属性是非标准的,不会进行验证,但是如果您不包含它,FF将真正地干扰您@SoulieBaby我想说的是,从细节上看,这不是最干净或最好的解决方案,但被建议作为一个基础。它可以通过多种方式进行重构。注意:如果您不希望firefox在页面刷新/重新加载时缓存选中的值,请添加autocomplete=“false”。当然,autocomplete属性是非标准的,不会进行验证,但如果您不包含它,FF将真的给您带来麻烦@SoulieBaby我想说的是,从细节上看,这不是最干净或最好的解决方案,但被建议作为一个基础。它可以通过多种方式进行重构。