簡體   English   中英

如果另一個未選中,則禁用復選框

[英]Disable checkbox if the other isn't checked jQuery

我需要至少選中一個復選框。 兩者可以同時檢查,但我至少需要始終檢查一次。

我嘗試使用以下代碼執行此操作。 想法是檢查是否未選中該復選框,然后將禁用的屬性添加到另一個復選框。

例如

如果未選中字母,請選中數字並將其禁用,以便用戶無法取消選中它。

if (letters.checked === false) { // if letters isn't checked
    numbers.prop("disabled", true); // disable numbers
    numbers.checked = true; // keep numbers checked
} else if (numbers.checked === false) { // else if numbers isn't checked
    letters.prop("disabled", true); // disable letters
    letters.checked = true; // keep letters checked
}

小提琴

像這樣,您的意思是:)工作演示: http : //jsfiddle.net/Y3dC3/

  • 我已添加.on更改事件。
  • 您也可以使用.is檢查來檢查是否被選中。

希望這符合您的需求。

$(document).ready(function () {

    $('input[type=checkbox]').change(function () {
        var letters = $("#letters"),
            numbers = $("#numbers");

        if (!letters.is(':checked')) { // if letters isn't checked
            numbers.prop("disabled", true); // disable numbers
            numbers.checked = true; // keep numbers checked
        } else if (!numbers.is(':checked')) { // else if numbers isn't checked
            letters.prop("disabled", true); // disable letters
            letters.checked = true; // keep letters checked
        }
    });
});

如果您希望每次檢查狀態更改時都將其觸發,則需要將該邏輯放入事件處理程序中。 當前,它僅在$(document).ready運行,此后再也不會運行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM