0

我想说如果

$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

但是该框已打勾?

任何帮助将不胜感激!

4

6 回答 6

6

checked如果未选中,请不要指定属性。另外,一个相等是赋值,你想使用两个。

<input name="supervisor" type="checkbox" <?php if ($supervisor == 1){?> checked="checked" <?php } ?>/>
于 2013-04-17T19:51:49.887 回答
2

尝试这个:

<input name="supervisor" type="checkbox" <?php if ($supervisor == 1) { echo 'checked="checked"'; } ?> />
于 2013-04-17T19:51:35.340 回答
0

做这个。

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

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

于 2013-04-17T19:51:29.620 回答
0

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

如果你有一个checked属性,那么它必须有值"checked"

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

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

改为使用==

固定代码

<input
    name="supervisor"
    type="checkbox"
    <?php if ($supervisor == 1) { ?>
    checked="checked"
    <?php } ?> 
    />
于 2013-04-17T20:00:24.017 回答
-2

尝试这个:

<input name="supervisor" type="checkbox" <?php if ($supervisor) echo "checked" ?> />
于 2013-04-17T19:52:20.317 回答
-3

如果:

 <input name="supervisor" type="checkbox" <?php echo $supervisor == 1 ? 'checked' : ''  ?>/>
于 2013-04-17T19:54:15.037 回答