Bootstrap ICheck-Helper不会在更改的事件上触发

时间:2014-07-10 16:47:25

标签: jquery twitter-bootstrap checkbox

我根据是否已选中复选框,将此Jquery代码更新为复选框。但是,这并不是火。

代码

$('body').on('change', '.territory', function () {
    var PK = $(this).find('input:checkbox:first').val();
    var PKStr = '.parent' + PK;
    console.log('change!');
});

$('body').on('change', '.iCheck-helper', function () {
    //var PK = $(this).find('input:checkbox:first').val();
    //var PKStr = '.parent' + PK;
    console.log('change!');
});

<div class="row">
  <div class="col-md-12 col-lg-12">
    <label class="control-label">
      Selected Territories
    </label>
  </div>

  @for (int c = 0; c < 2; ++c)
  {
     int Count = 0; 
     <div class="col-md-6 col-lg-6">
     @foreach (var ter in Infobase.MMS.Models.ComboBoxValues.GetTerritoryRights(0))
     {
        if (Count % 2 == c)
        {
          <label>
            <input type="checkbox" class="territory" value="@ter.Key">
                                                        &nbsp;@ter.Value

          </label>
        }
        Count++;
      }
   </div>
  }    
</div>

我已尝试绑定到点击功能并更改iCheckbox-Helper上的功能以及直接复选框。但似乎都不起作用。当我不添加Icheck.js脚本时,一切都运行良好。

有人知道如何从bootstraps Icheckhelper类中获取更改的事件吗?

4 个答案:

答案 0 :(得分:23)

使用documentation

中提到的ifChanged或ifChecked
$('input').on('ifChecked', function(event){
  alert(event.type + ' callback');
});

答案 1 :(得分:9)

我刚刚在全球范围内添加了它,它为我提供了诀窍。

$(".i-checks input").on('ifChanged', function (e) {
    $(this).trigger("change", e);
});

答案 2 :(得分:3)

添加jQuery事件触发onClick事件

$('input[type="checkbox"], input[type="radio"]').on('ifChanged', function (e) {
     $(this).trigger("onclick", e);
});

答案 3 :(得分:0)

这对我有用。

$(document).on("ifChecked", "input", function () {alert("Changed");})