无法在metronic管理主题中使用jquery选中取消选中复选框

时间:2016-05-17 05:26:06

标签: javascript jquery dom checkbox metronic

我正在为我的一个项目使用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>");

4 个答案:

答案 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循环中使用时为输入复选框添加类

this works perfectly