2017-05-14 21 views
0

私は3つのラジオボタンを持つブートストラップボタングループを持っています。私は隠れたフィールドも持っているので、選択した値を自分のコードの中に入れることができます。ボタンのコードは次のとおりです。私は隠しフィールドが正しい値を持っている、ページを送信するとブートストラップASP.Netボタングループはポストバック時の値を保持します

$(document).ready(function() { 
    $('.btn').click(function() { 
     var parent = '#' + $(this).parent().attr('id'); 
     $(parent).find('input').val($(this).text()); 
     $(this).addClass("active").siblings().removeClass("active"); 
    }); 

<div class="btn-group" data-toggle="buttons" id="parentofit"> 
    <asp:HiddenField ID="hidValue" runat="server" Value="Beginning" /> 
    <label class="btn btn-primary" id="label1" runat="server"> 
     <input type="radio" name="options" id="option1" runat="server"> 
     Radio 1 
    </label> 
    <label class="btn btn-primary" id="label2" runat="server"> 
     <input type="radio" name="options" id="option2" runat="server"> 
     Radio 2 
    </label> 
    <label class="btn btn-primary" id="label3" runat="server"> 
     <input type="radio" name="options" id="option3" runat="server"> 
     Radio 3 
    </label> 
</div> 

私はまた、Javascriptが隠しフィールドを設定する必要があります。ページ・ゲットがリロードされると、ボタン・グループは最初のフィールドにリセットされます。

ポストバックで値を保持するにはどうすればよいですか?初期値をプログラムで設定するにはどうすればよいですか?

TIA

ジェフ

+0

htmlコントロールの代わりにRadioButtonサーバーコントロールを使用することはどうですか? – hardkoded

+0

私はそれを試みました。まだ同じことがあります。私はpage_prerenderでラジオボタンをチェックして設定できますが、他のボタンと同じように見えます。 また、入力を見ると、すでにサーバーで実行されています。 –

答えて

0

フォームポストデータをキャッチして、ページの読み込み中に手動でラジオボタンの値を設定することができます。

if (Page.IsPostBack && Request.Form["options"] != null) 
{ 
    HtmlInputRadioButton hirb = new HtmlInputRadioButton(); 
    hirb.Value = Request.Form["options"]; 
} 

さらに複雑な解決策は、ラジオボタンのデザインを上書きするための独自のコントロールアダプターを作成することです。

+0

ありがとうございます。しかし、ボタンは設定されません。値を保存することはできますが、表示ボタンはリセットされます。 –

+0

コードのどこかに値を設定していますか? if(Page.IsPostBack == false){//ここにデータを設定} ' – VDWWD

+0

ラジオボタンの設定と非表示フィールドの設定の両方を試みました。ポストバックがあるたびにボタンがリセットされるかのように表示されます。 –

関連する問題