0

jquery を学習していますが、選択したラジオ ボタンの値を asp.net radiobuttonlist のラジオ ボタン リストから取得するために必要なものが見つからないようです。

これがマークアップです。

 <fieldset style="width:50%;">
        <legend>Select one option below</legend>
        <div id="radioContactTasks">
            <asp:RadioButtonList ID="rblAddEditContact" runat="server"
                         RepeatDirection="Vertical" 
                         CssClass="registerradio" TextAlign="Left">
                <asp:ListItem Text="Add New Contact" />
                <asp:ListItem Text="Edit Existing Contact" />
                <asp:ListItem Text="Delete Existing Contact" />
            </asp:RadioButtonList>
        </div>
    </fieldset>

さまざまな方法を試しましたが、どれも機能しません。これは、何が選択されたかを警告する最新のバリエーションです。

$(document).ready(function () {
        $("#rblAddEditContact").on("change", ":radio", function () {
            alert($(this).siblings("label").value);
        });
    });

これがレンダリングされたhtmlです

<fieldset style="width:45%;">
    <legend>Add New or Edit Exisiting Contacts</legend>
    <fieldset style="width:50%;">
        <legend>Select one option below</legend>
        <div id="radioContactTasks">
            <table id="MainContent_rblAddEditContact" class="registerradio">
<tr>
    <td><label for="MainContent_rblAddEditContact_0">Add New Contact</label><input id="MainContent_rblAddEditContact_0" type="radio" name="ctl00$MainContent$rblAddEditContact" value="Add New Contact" /></td>
</tr><tr>
    <td><label for="MainContent_rblAddEditContact_1">Edit Existing Contact</label><input id="MainContent_rblAddEditContact_1" type="radio" name="ctl00$MainContent$rblAddEditContact" value="Edit Existing Contact" /></td>
</tr><tr>
    <td><label for="MainContent_rblAddEditContact_2">Delete Existing Contact</label><input id="MainContent_rblAddEditContact_2" type="radio" name="ctl00$MainContent$rblAddEditContact" value="Delete Existing Contact" /></td>
</tr>

4

3 に答える 3

1

可能な解決策は

$('input[type=radio]:checked').val();

または少し長くても同じですが、同様に機能するはずです

$('input[type=radio]').filter(':checked').val();

いつでも取得できます

于 2012-12-31T22:01:54.527 に答える
0

あなたのradioボタンがvalueこのようになっている場合

<input type="radio" value="rdo-1" name="radio1" />

次に、これを試して、rdo-1

$("#radioContactTasks [type='radio']").on("change", function () {
    alert($(this).val()); // rdo-1
});

それ以外の場合、radioボタンがこのようなもので、値属性がない場合

<input type="radio" name="radio1" />

radio名前付きグループで選択できるボタンは1つだけであり、その値はまたはである可能性があるため、上記のコードは必要onないと思います。offこの場合$(this)、ハンドラー内は常にchecked1であり、値はになりますon

radioまたは、ハンドラーの外でボタンのチェック値を取得する必要がある場合は、changeこれを使用できます

$("#radioContactTasks input[type='radio']:checked").val();

P / S:それでも混乱が生じる場合は、ブラウザでレンダリングされたソースコードを投稿することをお勧めします。

于 2012-12-31T22:19:40.730 に答える
0
$(document).ready(function () {    
    $('#MainContent_rblAddEditContact input[type=radio]').change(function(){
      alert( $(this).val() );
    });
});

ライブデモはこちら: http://codepen.io/joe/pen/DJleG

于 2012-12-31T21:59:20.820 に答える