1

我已经看到了一千种不同的复选框方法,但是我的眼睛已经厌倦了试图弄清楚为什么当值为真时我根本无法回显已检查的变量(它们是我从 db 中检索它们并打印出来的):

<input type="checkbox" name="headlines" value="true" <?php if($headlines=="true"){ echo "checked=checked";} ?> /> Headlines<br />

标题已从数据库中提取,并基于该行设置了一个变量,我已经打印了它并且它是真的,所以它必须在上面的代码中。

我也试过:

<input type="checkbox" name="headlines" <?php if($row['headlines'] === TRUE){ echo "checked=checked";} ?>/>Headlines<br />

我哪里错了?

谢谢!

4

2 回答 2

2

你需要引号中的第二个“检查”

<input checked="checked" />

您可以使用单人或双人,但您需要在回声中处理这一点。

<input type="checkbox" name="headlines" value="true" <?php if($headlines=="true"){ echo 'checked="checked"'; } ?> /> Headlines<br />

(请注意,这假设您正在编写 XHTML。如果您正在编写 HTML,那么您只需要 'checked' 而不是完整的 'checked="checked"'。您也可能会错过关闭 /<br />等)

于 2012-11-22T00:06:27.163 回答
1
if($headlines=="true")

"true" 是一个字符串,您是否想检查它是否为真?

if($headlines==true)

以下在 chrome 中对我有用:

<?php $headlines = true; ?>

<input type="checkbox" name="headlines" value="true" <?php if($headlines==true){ echo "checked=checked";} ?> /> Headlines<br />

正如 Robbie 所说,您还应该将选中的值括在引号中。

于 2012-11-22T00:07:57.023 回答