0

这里非常初学者,请放轻松:)

在我们的数据库中,我们有一个tinyint字段secondary_phone_number,要么是要么01。我们使用flourish MVC.

0 = 假,1 = 真。

我正在尝试secondary_phone_number使用以下代码显示一个复选框,指示是否为真:

if ($company->setSecondaryPhoneNumber(fRequest::get("secondary_phone_number")) == TRUE) 
{
      $company->setSecondaryPhoneNumber == TRUE;
} else {
      $company->setSecondaryPhoneNumber == FALSE;
}   

然后,显示它:

$data['secondaryphonenumber'] = $company->getSecondaryPhoneNumber();

最后,在 .tpl 中渲染它:

<h5>Enable Secondary phone numbers?</h5>
<label>
    <input type="checkbox" name="secondary_phone_number" value="0" {{^secondaryphonenumber}}checked="checked"{{/secondaryphonenumber}}/>
    Yes
</label><br>

问题是,它总是显示为 Checked....即使数据库中的值为 0...对这个新手有什么帮助???!!

4

2 回答 2

2

正如罗斯在他的评论中指出的那样,您的错误在于您的分配(您使用条件==而不是分配=):

if ($company->setSecondaryPhoneNumber(fRequest::get("secondary_phone_number")) == TRUE) 
{
      $company->setSecondaryPhoneNumber = TRUE;
} else {
      $company->setSecondaryPhoneNumber = FALSE;
}
于 2012-12-18T01:45:55.627 回答
0

这是一个 HTML 问题。checked="checked" 当您包含我自己尝试过的复选框时,该复选框将始终显示为选中状态。如果没有该行,复选框应该仍然可以正常工作。我不确定你的框架是什么,所以我不确定你将如何从你的数据库动态地为这个框分配值,但应该可以通过在 value 属性中回显一条语句来分配一个值您的检查输入标签。

如果您想了解更多详细信息,请查看此链接:http: //www.w3schools.com/jsref/dom_obj_checkbox.asp

于 2012-12-18T01:55:28.760 回答