如果变量= 1则复选框=已选中

时间:2013-04-17 19:50:17

标签: php

我想说是否

$supervisor = 1 

然后

checkbox=checked else checkbox=unchecked

我用过:

<input name="supervisor" type="checkbox" <?php if ($supervisor = 1){?> checked="checked" <?php } else { ?> checked="unchecked" <?php } ?>/>

echo $supervisor;返回0

然后勾选方框?

非常感谢任何帮助!

6 个答案:

答案 0 :(得分:6)

如果未选中,则不指定checked属性。另外,一个等于分配,你想使用两个。

<input name="supervisor" type="checkbox" <?php if ($supervisor == 1){?> checked="checked" <?php } ?>/>

答案 1 :(得分:2)

试试这个:

<input name="supervisor" type="checkbox" <?php if ($supervisor == 1) { echo 'checked="checked"'; } ?> />

答案 2 :(得分:0)

第一个问题:您尝试生成的HTML无法达到您想要的效果。

如果您拥有checked属性,则其值必须为"checked"

如果您要指定默认情况下不应选中复选框,则根本不能包含checked属性。 checked="unchecked"是浏览器错误恢复将视为checked="checked"的错误。

第二个问题: =是一个赋值运算符,需要一个比较运算符。

改为使用==

固定代码

<input
    name="supervisor"
    type="checkbox"
    <?php if ($supervisor == 1) { ?>
    checked="checked"
    <?php } ?> 
    />

答案 3 :(得分:-1)

这样做。

echo ( $supervisor == 1 ) ? 'checked' : 'not checked';

在做这样的事情时,三元运算符清晰简洁。

答案 4 :(得分:-2)

试试这个:

<input name="supervisor" type="checkbox" <?php if ($supervisor) echo "checked" ?> />

答案 5 :(得分:-2)

如果符合以下情况,您可以使用速记执行此操作:

 <input name="supervisor" type="checkbox" <?php echo $supervisor == 1 ? 'checked' : ''  ?>/>