0

我的代码有问题吗:

if($q_ccd_chk == 'on')
{
    if($q_front == 1)
    {
        echo '<input type="checkbox" name="front" value="1" checked/> Front';
    }
    if($q_back == 1)
    {
        echo '<input type="checkbox" name="back" value="1" checked/> Back';
    }
    if($q_fb == 1)
    {
        echo '<input type="checkbox" name="fb" value="1" checked/> FB';
    }
}
else
{
    echo '<input type="checkbox" name="front" value="1"/> Front';
    echo '<input type="checkbox" name="back" value="1"/> Back';
    echo '<input type="checkbox" name="fb" value="1"/> FB';
}

如果值复选框前后值匹配,它将显示选中的复选框。但如果复选框值的 3 匹配,则不会显示所有复选框都已选中。

4

2 回答 2

0

你只检查是否$q_ccd_chk打开。如果不是,则显示所有未检查的值。在执行此操作之前,您应该检查所有这些。如果$q_ccd_chk打开,但其他 3 个未打开。它根本没有显示复选框...

于 2013-05-29T09:06:53.100 回答
0

你得到什么:

$checkedfront = "";
$checkedback  = ""; 
$checkedfb    = ""; 

if($q_ccd_chk == 'on')
{
    if($q_front == 1) { $checkedfront = " checked";}
    if($q_back  == 1) { $checkedback  = " checked";}
    if($q_fb    == 1) { $checkedfb    = " checked";}
}

    echo "<input type=\"checkbox\" name=\"front\" value=\"1\"".$checkedfront." /> Front\n";
    echo "<input type=\"checkbox\" name=\"back\" value=\"1\"".$checkedback." /> Back\n";
    echo "<input type=\"checkbox\" name=\"fb\" value=\"1\"".$checkedfb." /> FB\n";
于 2013-05-30T01:56:00.143 回答