如何为bootstrap开关按钮赋值?

时间:2014-08-27 09:59:40

标签: codeigniter twitter-bootstrap

我在codeigniter中有一个表单,我可以选择在首页显示数据。

<div class="form-group input-group">
<label>Show in Front</label>
<input type="checkbox" id="switch-change" name="show-infront" checked data-on-text="YES" data-off-text="NO" checked data-on-color="success" data-off-color="warning">
</div>

<script type="text/javascript">
    $("[name='show-infront']").bootstrapSwitch();
</script>

当我在echo $this->input->post('show-infront')这样的控制器中打印表单的值时,如果选中'yes',则输出为'on',当选中'no'时,没有任何输出。所以,当我检查是的时候,我想要那个,那么值应该是'是',反之亦然。

1 个答案:

答案 0 :(得分:0)

尝试:onSwitchChange ...... 好的,如果未选中复选框,则不在POST中发送其值,因此您需要一个隐藏字段,如下所示: 还需要在init和onChange设置其值

<input type="checkbox" id="switch-change" name="show-infront" data-on-text="YES" data-off-text="NO" checked data-on-color="success" data-off-color="warning">
<input type="hidden" name="show-infront-val"/>

<script type="text/javascript">
    var ckbox = $("[name='show-infront']");
    var ckbox_val = $("[name='show-infront-val']");

    ckbox.on('switchChange.bootstrapSwitch init.bootstrapSwitch', function(event,  state) {
        if (this.checked) ckbox_val.val('Yes')
        else ckbox_val.val('No')
    });

   ckbox.bootstrapSwitch('state', true);
</script>

顺便说一句,如果你检查php-s isset($ _ POST [&#39; show-infront&#39;])也是一个复选框的好选项

Documentation