我有一个收音机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;
但没效果。
答案 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();