使用Jquery我有代码可以选择与选中的复选框相同值的所有复选框。它还会禁用与所选复选框位于同一行的所有复选框(复选框位于表格内)。基于值重复选择复选框
这太棒了。然而它有点不完整,而最后一块拼图正在逃避我。根据定义,禁用的行上的复选框被禁用。但是,如果所有与禁用的值相同的复选框也被禁用,那将是完美的。这是为了防止用户选择不兼容的项目(还有一个服务器端措施来防止这种情况发生,但客户端更加漂亮和用户友好)。
的jsfiddle:https://jsfiddle.net/q9q7h1y8/
$(".chkbox").on('change', function() {
var currentObj = $(this);
var val = $(this).val();
if ($(this).is(":checked")) {
$(":checkbox[value='" + val + "']").prop("checked", true);
$(this)
.closest("tr")
.find(".chkbox").attr("disabled", "disabled");
$(currentObj).removeAttr("disabled");
$(":checkbox[value='" + val + "']")
.closest("tr")
.find(".chkbox").attr("disabled", "disabled");
$(":checkbox[value='" + val + "']").removeAttr("disabled");
} else {
$(":checkbox[value='" + val + "']").prop("checked", false);
$(":checkbox[value='" + val + "']")
.closest("tr")
.find(".chkbox").removeAttr('disabled');;
}
});
预期功能将,例如,如果涉及到20040任何复选框被选中禁用与30680在jsfiddle link两个复选框。
感谢所有伟大的答案家伙 – Stumbler