【问题标题】:Need to alert for unchecked radio buttons in jquery需要提醒 jquery 中未选中的单选按钮
【发布时间】:2015-03-10 11:28:28
【问题描述】:

例子

  <div id="radio">
<input type="radio" id="radio1" name="radio" value="1" /><label for="radio1">Choice 1</label>
<input type="radio" id="radio2" name="radio" value="2"  /><label for="radio2">Choice 2</label>
<input type="radio" id="radio3" name="radio" value="3" /><label for="radio3">Choice 3</label>

 <div id="radio">
<input type="radio" id="radio1" name="radio" value="1" /><label for="radio1">Choice 1</label>
<input type="radio" id="radio2" name="radio" value="2" checked="checked" /><label for="radio2">Choice 2</label>
<input type="radio" id="radio3" name="radio" value="3" /><label for="radio3">Choice 3</label>

  <div id="radio">
<input type="radio" id="radio1" name="radio" value="1" /><label for="radio1">Choice 1</label>
<input type="radio" id="radio2" name="radio" value="2" checked="checked" /><label for="radio2">Choice 2</label>
<input type="radio" id="radio3" name="radio" value="3" /><label for="radio3">Choice 3</label>

上述无线电组是动态生成的。 我需要在其中识别未选中的无线电组。

【问题讨论】:

    标签: javascript jquery jquery-ui


    【解决方案1】:

    首先,当您希望用户一次只选择一个时,使用单选按钮。所以,我认为你宁愿使用复选框,而不是单选按钮。

    话虽如此,我认为使用 jQuery 实现目标的最简单方法是使用 :not 选择器。此代码将为您提供所有未选中的复选框:

    var notChecked = $('input:not(:checked)')
    

    这里有一个演示:http://jsfiddle.net/nasuf96b/

    显然需要进行一些错误处理,但你明白了。

    祝你好运。

    编辑

    我现在明白你在追求什么。看看这个小提琴:http://jsfiddle.net/nasuf96b/1/。 它会告诉您是否未选择组中的任何内容,我认为这就是您想要做的。

    $('input').on('click', function() {
        check_all();   
    });
    
    function check_all() {
        var outputText = 'These are not checked: ';
        var myDivs = $('div.radio');
        for (var i=0; i<myDivs.length; i++) {
            var isChecked = false;
            var childInputs = myDivs[i].getElementsByTagName('input');
            for (var j=0; j<childInputs.length; j++) {
                if (childInputs[j].checked == true) {
                    isChecked = true;
                }
            }
            if (isChecked == false) {
                outputText += (i+1) +', ';   
            }
        }
        alert(outputText.slice(0, -2));
    }
    

    【讨论】:

    • 我已经知道这个选项。这将只提供第一个无线电组。我想要所有未选中的广播组。
    • 那太好了..很有帮助..谢谢..保罗..甚至有人打倒了我..bt你帮了我很多..
    • 很高兴这有帮助。那么,你能接受我的回答吗?
    猜你喜欢
    • 1970-01-01
    • 2010-10-25
    • 2012-09-19
    • 2010-09-27
    • 1970-01-01
    • 2019-09-29
    • 1970-01-01
    • 2015-08-15
    • 2017-10-18
    相关资源
    最近更新 更多