【问题标题】:jquery select radio button using both the display style and the checked statusjquery 使用显示样式和选中状态选择单选按钮
【发布时间】:2014-04-02 13:07:51
【问题描述】:

下面,javascript 函数 testit2() 将显示当您单击“测试”按钮时 div1 div 中的四组单选按钮中的每一个是否都有选择。但是,如果其中一个组的显示样式为“无”,那么它会失败,因为我无法从该组中进行选择。如何添加按钮必须可见(即显示样式为内联或可见性样式可见)。

<script type="text/javascript">
function testit2()
{
    var radioscomplete = true;
    $('input:radio', $('#div1')).each
    (
        function()
        {
            name = $(this).attr('name');
            if(! $('input:radio[name="' + name + '"]:checked').length)
            {
                alert('Oops, you missed some input there.. [' + name + ']');
                radioscomplete = false;
                return false;
            }
        }
    );
    if (radioscomplete)
        alert("All checked");
}


</script>
</head>
<body>
<div id="div1">
<input type="radio" name="xyz">test1<br />
<input type="radio" name="xyz">test4<br />
<input type="radio" name="xyz1">1test1<br />
<input type="radio" name="xyz1">1test4<br />
<input type="radio" name="xyz2">2test1<br />
<input type="radio" name="xyz2">2test4<br />
<span style="display:inline;"><input type="radio" name="xyz3">3test4<br /></span>

<br>
<button onclick="testit2();">Test</button>
</div>

【问题讨论】:

    标签: jquery radiobuttonlist


    【解决方案1】:

    你是说

    $('input:radio:visible')
    

    ?

    或使用

    .filter(':visible:checked')
    

    【讨论】:

    • (你怎么发音?)你的第一个建议奏效了,但有一点需要注意。为了测试您的解决方案,我将 xyz3 控件上的 display:inline 更改为 display:none,并且它起作用了。谢谢! (我不能投票,因为我没有声誉!)但是如果我让它可见:隐藏而不是显示:无它不起作用。此外,如果我将它设为if(! $('input:radio[name="' + name + '"]:checked:visible').length),这就是我认为您的第二个建议,并保持显示(而不是可见)样式,它也不起作用。但是你给了我一个解决方案,我很感激。
    • 我的评论中有两个错误。首先,我的意思是不工作的风格是可见性,不可见。另外,我的意思是visible:checked 不是checked:visible,但我认为它没有任何区别。无论如何,这两种方法都行不通。为什么第一个建议有效而第二个无效?另外,是否有 jquery 方式来匹配可见性
    • 我很确定您首先需要获得可见性,然后才能检查其状态
    猜你喜欢
    • 1970-01-01
    • 2016-12-30
    • 2019-06-30
    • 2011-02-07
    • 1970-01-01
    • 1970-01-01
    • 2012-12-28
    • 2011-01-08
    • 1970-01-01
    相关资源
    最近更新 更多