我有此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">
@ter.Value
</label>
}
Count++;
}
</div>
}
</div>
我已经尝试绑定(bind)到iCheckbox-Helper上的click函数和change函数,以及直接绑定(bind)到复选框。但是,两者似乎都不起作用。当我不添加Icheck.js脚本时,一切工作正常。
有人知道如何从Icheckhelper类的引导中了解更改的事件吗?
最佳答案
使用documentation中提到的ifChanged或ifChecked
$('input').on('ifChecked', function(event){
alert(event.type + ' callback');
});