0

同じIDのラジオボタンのリストがあります。各ラジオボタンの値を読み取ろうとしていますが、コードは常に最初のラジオボタンの値のみを読み取ります。

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script>
    $(document).ready(function () {
        $("#rdodoc").click(function () {
            var val = $("[id=rdodoc]").val()
            alert(val);
        });


    });
</script>


@foreach (ReadWord.Models.Document item in ViewBag.lstdocs)
{
    @Html.RadioButton("rdodoc", item.Name)
    <label>@item.Name</label>


}
4

4 に答える 4

2

iduseの代わりにclass="rdodoc"、それが適切な方法です。

$(document).ready(function () {
    $(".rdodoc").click(function () {
        var val = $(this).val()
        alert(val);
    });
});

上記のコードでは、ラジオ ボタンをクリックすると、その値が警告されます。

于 2013-09-24T05:20:05.250 に答える
0

JavaScriptでもループを実行する必要があります。現在、値を 1 つだけ取得しているため、最初の値が表示されます。IDを名前またはクラスに変更します。

$( ".rdodc" ).each(function( index ) {
  alert( index + ": " + $( this ).val() );
});

これにより、各ラジオ ボタンの値が警告されます。

于 2013-09-24T05:20:01.727 に答える
0

要素の ID は一意である必要があります。ID が重複していると、HTML ドキュメントが無効になり、ID でこれらの要素にアクセスすると、最初に見つかった要素のみが返されます。ラジオ ボタンをグループ化したい場合は、name 属性を使用してください。値を取得するには、一意の ID を使用して反復できます。

于 2013-09-24T05:18:05.233 に答える