选中所有组中的特定单选按钮,没有选中的复选框

时间:2015-08-16 13:58:45

标签: jquery jquery-selectors radio-button radio-group

我需要:

  1. 获取未选择任何选项的所有广播组
  2. 来自这些群组的
  3. 获得" data-correctanswer"
  4. 有没有比我更好的方法呢? (它正在工作)

    jsfiddle

    (需要选择仅限A和H

    HTML:

    <form class="multiForm trueFalse">
        <ul>
            <li>
                <input data-correctanswer="correct" name="question1" type="radio"><span>A</span>
    
            </li>
            <li>
                <input name="question1" type="radio"><span>B</span>
    
            </li>
        </ul>
        <ul>
            <li>
                <input name="question2" type="radio" checked="checked"><span>C</span>
    
            </li>
            <li>
                <input data-correctanswer="correct" name="question2" type="radio"><span>D</span>
    
            </li>
        </ul>
        <ul>
            <li>
                <input name="question3" type="radio"><span>E</span>
    
            </li>
            <li>
                <input data-correctanswer="correct" name="question3" type="radio" checked="checked"><span>F</span>
    
            </li>
        </ul>
        <ul>
            <li>
                <input name="question4" type="radio"><span>G</span>
    
            </li>
            <li>
                <input data-correctanswer="correct" name="question4" type="radio"><span>H</span>
    
            </li>
        </ul>
    </form>
    

    JS:

    $(document).ready(function () {
    
        var radio_buttons = $('.multiForm input[name*="question"]').not(':checked');
        var arr = [];
        $('.multiForm ul').each(function () {
            notSelectedRadioGroup = $(this).find('input[name*="question"]');
            if (notSelectedRadioGroup.filter(':checked').length == 0) {
                arr.push($(this));
            }
        });
    
        $(arr).each(function () {
            $(this).find('input:radio[data-correctanswer]').not(':checked').addClass('selected');
        });
    });
    

0 个答案:

没有答案