Bootstrap开关检查事件?

我使用此代码进行复选框检查事件,但它不起作用。

CSS

 

HTML

 <div class="switch switch-mini" data-on-label="" data-off-label="">  

JS

  

如果我使用这种方式,只是视觉样式工作良好,但它不会触发toggleWeather()函数,但如果我删除bootstrap-switch.js ,所有视觉样式都被删除,看起来标准为标准复选框,虽然它工作得很好。

如何更改复选框选中状态使用bootstrap-switch单击它?

在这里我的toggleweather代码:

 function toggleWeather() { if (document.getElementById('swWeather').checked) { weatherLayer.setMap(map); } else { weatherLayer.setMap(null); } if (document.getElementById('swCloud').checked) { cloudLayer.setMap(map); } else { cloudLayer.setMap(null); } } 

顺便说一下,我使用这个主题的开关: http : //www.keenthemes.com/preview/metronic_admin/form_component.html#myModal

这不是一个很好的例子,但就像http://jsfiddle.net/UHkN6/

注意: bootstrap文档现在使用第二个示例。

对于bootstrap-switch 3.0候选版本,以前在官方页面上作为示例提供的事件是:

 $('#switch-change').on('switchChange', function (e, data) {}); 

它没有被解雇!

解决方案 – 使用此代替:

 $('#switch-change').on('switchChange.bootstrapSwitch', function (event, state) {}); 

其中state参数是checkbox的值。

对我来说,这是唯一的工作代码(Bootstrap 3.0):

 $('#my_checkbox').on('change.bootstrapSwitch', function(e) { console.log(e.target.checked); }); 

它回报我的真假

在bootstrap交换机更改时提交Ajax的示例:

 $('#my_checkbox').on('change.bootstrapSwitch', function(e) { $.ajax({ method: 'POST', url: '/uri/of/your/page', data: { 'my_checkbox_value': e.target.checked }, dataType: 'json', success: function(data){ console.log(data); } }); }); 

您应该像下面这样调用开关更改function

 $('.switch').on('switch-change', function () { console.log("inside switchchange"); toggleWeather(); }); 

如果您要查看动态创建它,请按照我之前发布的链接中给出的步骤进行操作。 [ 动态创建无线电引导开关 ]

这是无线电类型。 对于复选框类型,您可以更改type='checkbox'

有关更多示例,请参阅以下链接 – http://www.bootstrap-switch.org/

该文档提供了bootstrap-switch的事件。 但是这里有一个例子,它只使用一个复选框和一个无线电组来完成。 我也抛出了Disable方法。

 $('#TheCheckBox').on('switchChange.bootstrapSwitch', function () { $("#CheckBoxValue").text($('#TheCheckBox').bootstrapSwitch('state')); }); 

这对我有用。

 $(".switch").bootstrapSwitch({ 'size': 'mini', 'onSwitchChange': function(event, state){ console.log('switched...') }, 'AnotherName':'AnotherValue' }); 

试试这个对我有用

  $('#check').change(function (event) { var state = $(this).bootstrapSwitch('state'); if (state) { // true } else { // false } event.preventDefault(); }); 

这是我使用它的方式:

HTMl

  

JQuery

 $('.switcher').on('switchChange.bootstrapSwitch', function(event, state) { if (state) { // Checked }else { // Is not checked } }); 

我希望它有用!!

试试这个

  $('input[name="my-checkbox"]').on('switchChange.bootstrapSwitch', function (event, state) { if (state == true) { //your code } else { //your code } });