在另一个帖子上回答了一个问题;现在我需要解决下一步! :)
我们的数据库secondary_phone_number
为1
或0
。
在我们的视图(MVC)中;我有
{
$secondaryNumber = $company->getSecondaryPhoneNumber();
if ($secondaryNumber = 1) {
$data['secondaryphonenumber'] = TRUE;
} else {
$data['secondaryphonenumber'] = FALSE;
}
}
然后在我们的模板(HTML)中,我试图显示复选框,如果是(1)或否(2),则根据数据库条目显示:
<label>
<input type="checkbox" name="secondary_phone_number" value="1" {{#secondaryphonenumber}}checked="checked"{{/secondaryphonenumber}}/>
Yes
</label><br>
<input type="checkbox" name="secondary_phone_number" value="0" {{#secondaryphonenumber}}checked="checked"{{/secondaryphonenumber}}/>
No
</label>
问题是,无论数据库说什么,两个复选框都显示为已检查。有什么想法吗?
答案 0 :(得分:1)
我不确定您使用的是哪种MVC框架,或者您制作了自己的框架,但是您的方法并不关心生成复选框时secondaryphonenumber
中的内容
尝试这样的事情
<label>
<input type="checkbox" name="secondary_phone_number" value="1" <?=$secondaryphonenumber?"checked":""?>/>
Yes
</label><br>
<input type="checkbox" name="secondary_phone_number" value="0" <?=$secondaryphonenumber?"":"checked"?>/>
No
</label>
但我建议使用单选按钮,因为复选框允许用户选择这两个选项。
答案 1 :(得分:0)
试试这个:
$secondaryNumber = $company->getSecondaryPhoneNumber();
if ($secondaryNumber = 1) {
$data['secondaryphonenumber'] = TRUE;
} else {
$data['secondaryphonenumber_false'] = TRUE;
}
<label>
<input type="checkbox" name="secondary_phone_number" value="1" {{#secondaryphonenumber}}checked="checked"{{/secondaryphonenumber}}/>
Yes
</label><br>
<input type="checkbox" name="secondary_phone_number" value="0" {{#secondaryphonenumber_false}}checked="checked"{{/secondaryphonenumber_false}}/>
No
</label>
答案 2 :(得分:0)
试试这个..
<label>
<input type="checkbox" name="secondary_phone_number" value="1" <?php if($data['secondaryphonenumber'] == TRUE){?>checked="checked"<?php }?>/>
Yes
</label><br>
<input type="checkbox" name="secondary_phone_number" value="0" <?php if($data['secondaryphonenumber'] == FALSE){?>checked="checked"<?php }?>/>
No
</label>
Using radio button will be a better option..