關於JavaScript和條件檢查複選框有很多主題,但我沒有找到與我的案例相匹配的主題。許多應該總是保持未選中的複選框
我的用例:我已經生成了每行都有複選框的行數,假設這個數字是n
。現在用戶應該只能檢查它們的n-1
。換句話說,當我們有4個複選框,並且選擇了4個時,最後一個應該被禁用。當只有2個選中時,所有複選框都可用。
我曾嘗試:
var $checks = $('input:checkbox').click(function (e) {
var numChecked = $checks.filter(':checked').length;
var lastUnchecked = $checks.prop('checked', false);
if (numChecked = $checks.length - 1) {
lastUnchecked.disabled = true;
}
else {
//enable checkbox that was disabled before
lastUnchecked.disabled = false;
}
});
但是,這並不工作,因爲var lastUnchecked = $checks.prop('checked', false);
回報所有複選框,不僅選中
你能分享可執行演示/片斷或[的jsfiddle(https://jsfiddle.net/)? – Rayon
這聽起來像你的邏輯是相反的。也許你可以使用單選按鈕,讓用戶選擇他們**不需要的項目。 –
這個'if(numChecked = $ checks.length - 1)'是一個賦值,而不是一個比較。 '=='比較 – j08691