如何在jquery

时间:2015-07-07 13:55:05

标签: javascript jquery

我有一个收音机RadioButtonList有3个单选按钮,我想在选择任何一个单选按钮时得到一个布尔值(true或false)。

<asp:RadioButtonList runat="server" ID = "test" ClientIDMode="Static">
    <asp:ListItem Text="male" Value="1"  />
    <asp:ListItem Text="male" Value="2"  />
    <asp:ListItem Text="male" Value="3"  />
</asp:RadioButtonList>

例如: - 我选择了第一个,即[0]单选按钮

var radio = $("#test");
var value = $(radio).find("[type=radio]")[0].checked;

但没效果。

3 个答案:

答案 0 :(得分:3)

尝试

$("#test").find('input[type=radio]').click(function() {
      if($(this).is(':checked')){
          alert($(this).val())
      }
});

答案 1 :(得分:1)

我会这样解决你的问题:

$("#test").find('input[type=radio]').change(function() {
     var value = $("#test").find('input[type=radio]:checked').val();
     alert(value);
})

通过这种方式,您可以注意到单选按钮发生更改并提醒已选中的按钮的值。

这是一个小提琴:Fiddle它按照你的描述工作。您需要在输入中应用通用名称。您可以通过以下方式执行此操作:

 <asp:RadioButton GroupName="String" /> 

使用您的代码+输入名称更新了小提琴。

答案 2 :(得分:0)

你说你想要在点击时获得单选按钮的布尔值(true / false)。事实上,您只能设置一个单选按钮,然后取消另一个单选按钮。因此,您只能在单击按钮上的单击事件时返回true。

我在访问DOM元素时更喜欢名称间距。所以,我会这样做:

$('input[type=radio]', '#test').click(function() {
        return true;
});

如果您想要特定的按钮参考,您可以将其值返回为:

return $(this).val();