基于php数组的jquery复选框
我有一个php数组,其中包含复选框的mysql值,这是前面选择的。我试图做一个编辑页面的排序,将显示已选定的复选框,但似乎有问题。我尝试过不同的方法,但似乎都无法奏效 以下是我以前选择的复选框的php数组:基于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=
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我想说的是,从细节上看,这不是最干净或最好的解决方案,但被建议作为一个基础。它可以通过多种方式进行重构。