0

jQuery

$(document).ready(function () {
        $('#ButtonRadioValue').click(function () {
            var selValue = $('input[name=radio]:checked').val();
        });
    });

無線

<div id="radio" align="center">
    <input type="radio" id="radio1" value="BtnNextCaseClick" name="radio" checked="checked"/><label for="radio1" style="width: 109px; margin-right:-.9em">Next</label>
    <input type="radio" id="radio2" value="CloseCase" name="radio" /><label for="radio2" style="margin-right:-.9em">Close Case</label>
    <input type="radio" id="radio3" value="CloseWeb" name="radio" /><label for="radio3" style="width: 109px">Close Web</label>
</div>   

そのため、そのラジオの下にボタンがあり、ラジオの選択に応じて異なるコードビハインドを実行したいと考えています。その値は に格納されselValueます。onclickでは、イベントに内部のものを実行するように指示するにはどうすればよいですかselValue

ボタン

<asp:Button ID="ButtonRadioValue" CssClass="customButton" runat="server" onclick=" js variable here" Text="Aceptar" style="width: 111px; height: 30px"/>

ありがとう。

編集

クライアント側の手順は実際には必要なかったためです。私はサーバー側からそれをやったthis.radio1.Checked == true

4

4 に答える 4

1

探しているようですねeval()

var selValue = $('input[name=radio]:checked').val();
eval(selValue);
于 2012-10-11T12:00:50.930 に答える
1

Clickはサーバーイベントです。JSコードを実行する場合は、を使用しますonclientclick

于 2012-10-11T12:01:11.487 に答える
1

OnClientClickクライアント関数を呼び出すためにイベントを試すことができます

リンク: http: //msdn.microsoft.com/fr-fr/library/system.web.ui.webcontrols.button.onclientclick (v = vs.80).aspx

サーバー側:OnClick

クライアント側:OnClientClick

于 2012-10-11T12:02:17.793 に答える
1

更新:必要なものを誤解しているようですので、以下にオリジナルを残します

ポストバックでどのラジオボタンが選択されたかを知りたい場合は、ラジオのサーバー側コントロールを作成します(変換する<asp:RadioButton>か、単に追加するだけです。その後、などrunat="server"をテストできます。radio1.Checked

それ以外の場合は、を使用してフォームデータを確認できますRequest.Form("radio1")。結果がNothing(VB.Net)またはnull(C#)の場合、無線は選択されていません。そこに値がある場合は、ラジオが選択されていることがわかります。


元の/誤った仮定

私がこの問題を誤解していない限り、<asp:Button>すでに作成したjQueryでこれを行うことができるため、に特別な属性を設定する必要はありません。

あなたの後に以下を追加しますvar selValue...

$("#" + selValue).trigger("click");

生産するには...

$(document).ready(function () {
    $('#ButtonRadioValue').click(function () {
        var selValue = $('input[name=radio]:checked').val();
        $("#" + selValue).trigger("click");
    });
});

注意すべき点の1つは、コントロールがマスターページ、プレースホルダーなどの中にある場合、ボタンには完全なClientIDが必要です。そうでない場合、jQueryはそれを検出しません。


補足として、のOnClick属性は<asp:Button>、サーバーへのポストバックをクリックするためのイベントハンドラーを接続するために使用されます。javascriptを実行する場合は、属性を使用します。これにより、レンダリングされたHTMLで属性OnClientClickが生成されます。onclick

于 2012-10-11T12:03:11.227 に答える