我有一个代码:
while ($row = mysql_fetch_assoc($query_model)) {
echo ' <label class="checkbox">
<input name="model[]" value="'.$row["Model"].'" type="checkbox" checked>'.$row["Model"].'
</label>
';
}
我想使选中的选项动态
起初,我会选中所有复选框,但当我取消选中一些复选框并单击提交时,我希望在页面重新加载后,看到整个列表中的已选中和未选中字段(我以前已取消选中)。有可能把这个选项放到while语句中吗
通常我会这样做:
if ($model == 'My model') {
echo ' checked';
} else {
echo '';
}
但在这种情况下,我不知道如何实现它。
将所有选中复选框的值放在一个数组中,使其为$available
。
现在在查询结果上循环一些类似这样的内容-
while ($row = mysql_fetch_assoc($query_model)) {
$checked = '';
if(in_array($row['Model'], $available){
$checked = 'checked';
}
echo '<label class="checkbox">
<input name="model[]" value="'.$row["Model"].'" type="checkbox" '.$checked.'>'.$row["Model"].'
</label>';
}
是的,您可以这样做:
while ($row = mysql_fetch_assoc($query_model)) {
if($model == 'My model') { // your condition
$checked=' checked';
} else {
$checked='';
}
echo '<label class="checkbox">';
echo '
<input name="model[]" value="'.$row["Model"].'" type="checkbox"'. $checked .'>'.$row["Model"];
echo '</label>';
}
你可以试试,
if(isset($_POST['model']))
{
while ($row = mysql_fetch_assoc($query_model))
{
if(in_array($_POST,$row['Model'])
$checked="checked='checked'";
else
$checked="";
echo '<label class="checkbox"><input name="model[]" value="'.$row["Model"].'" type="checkbox" '.$checked.'>'.$row["Model"].'</label>';
}
}
else{
while ($row = mysql_fetch_assoc($query_model))
{
echo '<label class="checkbox"><input name="model[]" value="'.$row["Model"].'" type="checkbox" checked>'.$row["Model"].'</label>';
}
}