响应式复选框或切换为布尔值

时间:2014-12-07 01:30:50

标签: javascript jquery html twitter-bootstrap html-form

我正在为我的网站创建一个CMS,我的博客数据库中有关于博客文章是否可见的列,以及是否启用了评论。

在我的表格中,我有

            <div class="input-group">
                <span class="input-group-addon">Comments</span>
                <input type="text" class="form-control" name="blogcomments" id="blogcomments" placeholder="1 or 0" required maxlength="1" value="<?php echo ($data['blog']->blogcomments)?>">
            </div>

所以,如果我正在编辑博客,它就会提取值,否则它只会显示占位符。然后我可以输入1或0并提交。

我想要做的是有一个复选框或切换(我正在看bootstrap-switch),但我真的不确定如何实现它。我想我可以在0列中有一个默认值,并将复选框值设为1?我不喜欢这个想法。

我也不知道如何检查现有值(如果有的话)并相应地设置复选框/按钮/任何内容(因此,如果列中的值已经是1,则它将被检查)。我猜这个时候我需要javascript吗?

2 个答案:

答案 0 :(得分:1)

使用如下所示的复选框:

&#13;
&#13;
<div class="input-group">
  <span class="input-group-addon">Comments</span>
  <input type="checkbox" class="form-control" name="blogcomments" id="blogcomments" required value="1">
</div>
&#13;
&#13;
&#13;

如果选中该复选框,则会返回&#34; 1&#34;否则,它将返回&#34; null&#34;。

答案 1 :(得分:0)

决定使用bootstrap-switch

            <div class="input-group">
                <input type="hidden" value="0" name="blogcomments">
                <input type="checkbox" name="blogcomments" id="blogcomments" value="1" <?php if($results['blog']->blogcomments == 1) echo 'checked'?>>
            </div>

因此将开关设置为“On”会给出值1,如果该值已经为1,则会添加选中的字段,因此我将知道编辑博客时的当前状态。基本上我只是不知道'检查'的事情。此外,如果未选中此框,则返回0。如果你不这样做,正如另一个答案所说,它将返回NULL并且不会将1更改为0。