非常初学者,请放轻松:)
在我们的数据库中,我们有一个tinyint
字段secondary_phone_number
,其值为0
或1
。我们使用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>
问题是,它总是显示为已检查....即使数据库中的值为0 ...这个新的任何帮助??? !!
答案 0 :(得分:2)
正如Ross在评论中指出的那样,您的错误出现在您的作业中(您使用条件==
代替作业=
):
if ($company->setSecondaryPhoneNumber(fRequest::get("secondary_phone_number")) == TRUE)
{
$company->setSecondaryPhoneNumber = TRUE;
} else {
$company->setSecondaryPhoneNumber = FALSE;
}
答案 1 :(得分:0)
这是一个HTML问题。当您添加checked="checked"
时,该复选框将始终显示为已选中
我自己就试过了。没有该行,复选框仍然可以正常工作。我不确定你的框架是如何处理的,所以我不确定如何动态地从数据库中为这个框分配值,但是应该可以通过在value属性中回显一个语句来赋值。你的支票输入标签。
如果您想了解更多细节,请查看此链接: http://www.w3schools.com/jsref/dom_obj_checkbox.asp