我正在为我的一个项目使用metronic admin主题。
http://themeforest.net/item/metronic-responsive-admin-dashboard-template/4021469
我必须根据数据库中的数据检查或取消选中复选框,但问题是我无法使用jquery检查或取消选中metronic主题中的复选框。我已尝试使用prop和attr完成此任务的两种方法,但没有任何方法适合我。 如果我在自定义网页上运行相同的代码,那么它的效果非常好。
var str = "Lo ip som.",
arr = Array.prototype.reduce.call(str,(p,c) => c == " " ? (p[p.length-1]+=" ",p) : p.concat(c),[]);
document.write("<pre>" + JSON.stringify(arr) + "</pre>");
答案 0 :(得分:10)
如果您正在使用metronic,请尝试在道具之后添加此行:
$.uniform.update();
Metronic主题使用统一库将标准表单元素修改为花式元素。如果使用jquery检查或取消选中元素,则会更新它,但不会反映在前端。要在前端更新此操作,您需要使用统一库进行更新。
$ .uniform.update()根据更新的操作重新设置元素。
答案 1 :(得分:0)
我也使用了metroic主题,但没有这样的问题: 我认为问题可能是你未经检查过的问题。并且&#39;检查&#39;是不匹配的;我的意思是:你应该
var checked = $(this).is(":checked");
$.each(function() {
if (checked) {
$(this).prop("checked", true);//or $(this).attr("checked", true);
} else {
$(this).prop("checked", false);//or $(this).attr("checked", false),can't use $(this).removeAttr('checked');
}
});
如果你使用removeAttr,你应该
$(this).attr('checked', 'checked');
$(this).removeAttr('checked');
如果最重要的是它不起作用,你可以尝试:
$(this)[0].checked=true;// when I use ,find return array,so add [0];
$(this)[0].checked=false;
答案 2 :(得分:0)
$(本).iCheck( '取消选中'); 要么 $(本).iCheck( '检查'); 可在此处找到http://icheck.fronteed.com/#callbacks
答案 3 :(得分:0)
此问题的最佳方法是在angularjs循环中使用时为输入复选框添加类