检查两个或三个radiobutton中的任何一个

时间:2013-07-26 11:59:53

标签: c# javascript asp.net-mvc-4

我有不同的radiobutton组,所有配对的radiobuttons具有相同的id,因此它们应该工作,并且它们以某种方式工作。但是当我想验证时,我使用这种方法:

if ($("PhysicallyActive").is(":not(':checked')")) {
    $("PhysicallyActiveradio").css("border", "2px solid red");
}
else {
    $("PhysicallyActiveradio").css("border", "");
}

使用此方法,仅检查是否检查了两个或三个单选按钮的第一个单选按钮。因此,如果检查了secound radiobutton,我希望它转到else并重置边界。但是现在如果检查第二个radiobutton,我将设置一个红色边框。我希望它检查是否检查了任何具有相同ID的单选按钮。我怎么能这样做?

3 个答案:

答案 0 :(得分:1)

  

“具有相同的ID,以便它们可以一起工作”

这就是问题所在。当您为多个元素设置相同的ID时,无论如何都会选择第一个。

这没有意义,因为ID必须是唯一的。

他们应该分享的是名称。

正如@Alxandr指出的那样,您可以按照名称选择元素:

$("input[name='myname'][type='radio']")

答案 1 :(得分:1)

为他们设置不同的ID,但为他们指定相同的等级

class="PhsicallyActive";
class="PhysicallyActiveradio"


if ($('.PhysicallyActive').is(":not(':checked')")) {
$('.PhysicallyActiveradio').css("border", "2px solid red");
}
else {
    $('.PhysicallyActiveradio').css("border", "");
}

答案 2 :(得分:0)

我想念,你是不是喜欢这样的?

$( "radio" ).each(function( index ) {

  if index + ": "not(':checked')")) {
$('.PhysicallyActiveradio').css("border", "2px solid red");
}
else {
    $('.PhysicallyActiveradio').css("border", "");
}
    });