簡體   English   中英

如何使用JavaScript或最好是jQuery撤消單選按鈕選擇

[英]How to undo a radio button selection using JavaScript or preferably jQuery

我正在使用帶有一組單選按鈕選擇的方案。 要求是只能選擇2個。是。 因此,如果第三個也選擇“是”,我想將其恢復為“否”

另外,我還想知道是否可以檢查是否檢查了組中單選按鈕的給定索引,而不是這樣做:“($(this).is(':checked')&& $(this).val ()=='Y')”

jsFiddle鏈接: http//jsfiddle.net/pshah331/S8qep/

HTML:

<p>Folder A:
    <input type="radio" name="folder_A" value="Y" onclick="folderSelectionChanged()" />Yes
    <input type="radio" name="folder_A" value="N" onclick="folderSelectionChanged()" />No</p>
<p>Folder B:
    <input type="radio" name="folder_B" value="Y" onclick="folderSelectionChanged()" />Yes
    <input type="radio" name="folder_B" value="N" onclick="folderSelectionChanged()" />No</p>
<p>Folder C:
    <input type="radio" name="folder_C" value="Y" onclick="folderSelectionChanged()" />Yes
    <input type="radio" name="folder_C" value="N" onclick="folderSelectionChanged()" />No</p>
<div id="update"></div>

“ HEAD”中的JavaScript:

function folderSelectedYesCount() {
    var yesCount = 0;
    var folderRadioGroups = $("input[name^='folder_']");


    folderRadioGroups.each(function () {
        // TODO:  Would like to check by index --> "index 0 is selected/checked"
        if ($(this).is(':checked') && $(this).val() == 'Y') {
            yesCount++;
        }
    });

    return yesCount;
}

function folderSelectionChanged() {
    // TODO:  If count of Yes is greater than 2, then change the last clicked to "No"
    /*
    if (folderSelectedYesCount() > 1){
        $(this)[1].prop('checked', true);
    }
    */

    $('#update').html('Selection count for "Yes" is <b>' + folderSelectedYesCount() + ' </b>');
}

更改了html,因此folderSelectionChanged函數可以this作為參數來處理此類事件:

if(folderSelectedYesCount() > 2){
    $(obj).prop('checked', false);
    $(obj).next().prop('checked', true);
}

小提琴

我已經更新了您的jsfiddle,請檢查:-

function folderSelectionChanged(e) {

    if(folderSelectedYesCount()>2){
        $(e).siblings().prop("checked",true);         
    }
    $('#update').html('Selection count for "Yes" is <b>' + folderSelectedYesCount() + ' </b>');
}

點擊這里: -http : //jsfiddle.net/S8qep/47/

謝謝

暫無
暫無

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

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