使用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