簡體   English   中英

選擇單選按鈕時,選中並禁用復選框

[英]When Radio Button is selected, check and disabled checkbox

我還在學習jquery,但這就是我想要的

如果選擇了值為“16”的單選按鈕,我想要選中類新聞稿的復選框,然后無法取消選中。

如果取消選擇值為16的單選按鈕,我希望能夠再次使用該復選框。

沒有看到你的HTML,我假設一個簡單的案例。 這里有一些簡短的jQuery來做你要求的:

$('input[type="radio"]').click(function() {
    $('input.newsletter').attr({
        'checked': $(this).val() == 16,
        'disabled': $(this).val() == 16
    });
});​

jsFiddle例子

$("input[type=radio][name=<your radio button set name here>]").changed( function () {
    if ($("input[type=radio][name=<your radio button set name here>]").val() == "16") {
        $("input[type=checkbox].newsletter").attr('checked', 'checked');
        $("input[type=checkbox].newsletter").attr('disabled', 'disabled'); //this is one way to make it not unselectable
    }
    else {
        $("input[type=checkbox].newsletter").removeAttr('disabled');
    }
}

使其無法取消選擇的另一種方法是在上面的if下面的第二行的位置(旁邊有注釋的那個)put stayChecked = true; 並把stayChecked = false; 代替$(...).removeAttr('disabled'); 然后創建另一個函數,如下所示:

$("input[type=checkbox].newsletter").changed( function () {
    if (stayChecked) {
        $(this).attr('checked', 'checked');
    }
});

注意:你應該在一個公共級別上的兩個函數之外的某個地方聲明var stayChecked (即在腳本級別或父函數內部,如果它們在內部聲明,比如說,$(document).ready()函數)。

暫無
暫無

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

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