jQuery - 在表中启用,禁用和独占复选框

时间:2014-09-17 07:31:43

标签: javascript jquery checkbox

我有以下Table

我要做的是禁用" Every ..."默认情况下复选框的列,然后仅在" Weekly"选中复选框。除此之外,我希望"少经常","每月"和"每周"相互排斥,永远不会#34;其余的独家。

小提琴:HTML code

到目前为止,我有以下想法:

  • 组成所有" Every ..."禁用它们。
  • 如果点击每周复选框,则给定其ID,启用"每个"组
  • 给予所有较少的频率,每月和每周相同的名称,并制作 他们互相排斥

就编码而言,我有以下脚本:

在单击特定复选框时启用一组复选框("每个...")("每周")

这是针对Weekly的情况,启用一周中的每隔一天。我遇到的问题是如何将它应用于表的所有行,而不仅仅是一个。

$(function() {
  enable_cb();
  $("#group1").click(enable_cb);
});

function enable_cb() {
  if (this.checked) {
    $("input.group1").removeAttr("disabled");

  } else {
      $("input.group1").attr("disabled", true);
  }
}

如果所有" Every"在一个组中,组ID是Weekly的第一个复选框,它将启用其他行上的所有复选框。我应该采取什么措施或其他方法?

互斥

我希望其中三个复选框彼此互斥。我想将它们命名为相同,然后只应用下面的脚本。不过,我希望这适用于表的所有行。

$("input[name=myCheckbox]").click(function() {
    var $this = $(this), 
        wasChecked = $this.attr("checked") === "checked";
    $("input[name=myCheckbox]:checked").removeAttr("checked");
    if (wasChecked) {
        $this.attr("checked", "checked");
    }
});

我是jQuery的初学者,所以欢迎任何见解。

1 个答案:

答案 0 :(得分:0)

我应该在每个复选框中添加一个id。像这样:

check1_1 check1_2 ...... check2_1 check2_2 ...

因此,您可以在bucle中运行以检查或取消选中每个,具体取决于您在其中某些内容中收到的内容。

$(“#check”+ i +“_”+ X).... // i = row和X = column

当页面显示和内部调用具有2个参数的独特函数时,创建一个for来创建所有检查函数,单击行和列以进行任何比较。