0

我正在处理 MVC4 项目。我遇到单选按钮问题。

这是radion按钮的html代码

@Html.RadioButton("Radiobtn", "true", new { id = "Radiobtn", @style = "width:auto;background:none;border:none" })
 Yes
 @Html.RadioButton("Radiobtn", "false", new { id = "Radiobtn", @style = "width:auto;background:none;border:none" })
 No

当我尝试通过 jquery 获取选定值时,我只能看到第一个单选按钮值。

这是jquery代码

$('#Radiobtn').click(function () {
            if ($(this).val() == 'true') {
                alert('true');
            } else if ($(this).val() == 'false') {
                alert('false');
            }
        });

现在只有当我选择第一个单选按钮时才会显示警报。点击第二个单选按钮没有任何反应??我不知道为什么它没有显示警报?

4

5 回答 5

0
$('.Radiobtn').click(function () { //add class on each radiobutton here i take "Radiobtn"
            if ($(this).val()) {
                alert('true');
            } else {
                alert('false');
            }
        });
于 2013-10-16T10:23:53.443 回答
0

删除重复的 id 并尝试以下操作:

$('input[name=RadioBtn]').on('click', function() {
    // whatever...
});
于 2013-10-16T10:24:19.703 回答
0

两个单选按钮不能相同id。更好地使用class(但我更喜欢为此使用组名)和change事件处理程序。

$('.Radiobtn').change(function () {
            if ($(this).val() == 'true') {
                alert('true');
            } else if ($(this).val() == 'false') {
                alert('false');
            }
        });
于 2013-10-16T10:25:11.907 回答
0

您正在复制id无效的属性,这就是为什么 jQuery 仅在单击第一个收音机时起作用的原因。尝试使用 a class,如下所示:

@Html.RadioButton("Radiobtn", "true", new { id = "YesRadio", @class = "radio", @style = "width:auto;background:none;border:none" })
Yes

@Html.RadioButton("Radiobtn", "false", new { id = "NoRadio", @class = "radio", @style = "width:auto;background:none;border:none" })
No
$('.radio').click(function () {
    if ($(this).val() == 'true') {
        alert('true');
    } 
    else if ($(this).val() == 'false') {
        alert('false');
    }
});
于 2013-10-16T10:25:58.923 回答
0

给你的单选按钮一个类,两者都应该有 diff id。

@Html.RadioButton("RadiobtnYes", "true", new { class= "Radio", @style = "width:auto;background:none;border:none" })
 Yes
 @Html.RadioButton("RadiobtnNo", "false", new { class= "Radio", @style = "width:auto;background:none;border:none" })
 No

$(".Radio").click(function(){
alert(this.val());
})

它将发出警报truefalse取决于单击了哪个单选按钮。

于 2013-10-16T10:27:25.883 回答