我有这个代码使用iCheck插件为jquery设置复选框样式,有没有办法在以后更改'insert'属性?我尝试重新创建iCheck,但如果我这样做的话就会删除回调函数。
$(this).iCheck({
checkboxClass: checkboxClass,
insert: '<div class="icheck_line-icon"></div>' + $(this).attr("data-label")
});
$(this).on({ifChecked: function(){
iCheckChange(this, yes);
},ifUnchecked: function(){
iCheckChange(this, no);
}
});
答案 0 :(得分:2)
假设你有这种格式的复选框:
<input type="checkbox" class="my_checkbox" data-label="Check me" />
您可以通过以下方式更改图标和文字:
var checkboxClass = 'checkbox_cls';
$('.my_checkbox').each(function(i) {
var thisCheckbox=$(this);
thisCheckbox.iCheck({
checkboxClass: checkboxClass,
insert: '<div class="icheck_line-icon"></div><span class="insert_label">' + thisCheckbox.data("label") + '</span>'
});
var thisIcon = thisCheckbox.siblings('.icheck_line-icon');
var thisLabel = thisCheckbox.siblings('.insert_label');
thisCheckbox.on('ifChecked', function(e){
thisIcon.addClass('icon-checked');
thisLabel.html('Im checked');
});
thisCheckbox.on('ifUnchecked', function(e){
thisIcon.removeClass('icon-checked');
thisLabel.html('Not checked');
});
});
查看 this Fiddle 。