bootstrap switch 多个开关状态改变触发事件

bootstrap switch 开关状态改变触发事件

在这里插入图片描述

  1. 页面中的开关事件onSwitchChange
    初始化页面的时候就把开关进行初始化了。
<script type="text/javascript">
    $(document).ready(function(){
        $(".checkbox").bootstrapSwitch({
            onText : "XX ",      // 设置ON文本  
            offText : " ",    // 设置OFF文本  
            onColor : "success",// 设置ON文本颜色     (info/success/warning/danger/primary)  
            offColor : "danger",  // 设置OFF文本颜色        (info/success/warning/danger/primary)  
            size : "small",    // 设置控件大小,从小到大  (mini/small/normal/large)  
            handleWidth:"35",//设置控件宽度
            // 当开关状态改变时触发  
            onSwitchChange : function(event, state) {
           
                if(state){//改input的值
                   
                }else{
                   
                }
            }
        });
    });
</script>

搜了几个都是看event的defaultvalue的,没有看见input的id是多少,还都是页面中就只有一个开关,直接能用的那种
2. 考虑获取开关事件input的id
event.target.id;//input的id,这样居然能获取到操作的这个input的id,能用
3. 用jq改了他,这样页面上不管有多少的开关都没有问题了

onSwitchChange : function(event, state) {
                var isornotId = event.target.id;//input的id
                if(state){//改input的值
                    $("#"+isornotId).val("1");
                }else{
                    $("#"+isornotId).val("0");
                }
            }

页面代码

 <c:forEach items="${XXXXBeanList}" var="item" begin="0" end="${XXXXXList.size()}" varStatus="status">
                             <div class="form-group" style="margin-left: 30px">
                                <label class="col-sm-3 control-label">是否收费:</label>
                                <div class="col-sm-5">
                                    <div class="switch">
                                        <c:if test="${item.isornot eq 0}">
                                            <input type="checkbox" class="checkbox" id="isornot${status.index}" name="PcChargeWayTempStandardDynamicBean[${status.index}].isornot" value="${item.isornot}" />
                                        </c:if>
                                        <c:if test="${item.isornot eq 1}">
                                            <input type="checkbox" class="checkbox" id="isornot${status.index}" name="PcChargeWayTempStandardDynamicBean[${status.index}].isornot" value="${item.isornot}" checked="checked"/>
                                        </c:if>
                                    </div>
                                </div>
                            </div>
                          
                        </c:forEach>
  1. 循环出来的开关那就循环解决
    在onSwitchChange中把input获取到就可以任性的修改了,我也不用写onclick事件,也不用两个input搭配干活,很方便嘛。
    checkbox传值还有问题,不选中不传值,再加一个input hidden解决
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值