0

調査対象者が元の調査を表示したのとまったく同じように、特定の調査の回答を表示しようとしています。ただし、表示するときに、ブラウザで RadioButtonList の選択したオプションを変更できるようにしたくありません。を使用せずに RadioButtonList を読み取り専用にする方法はありradioButtonList1.Enabled = falseますか?

FixedRadioButtonList をサブクラス化し、選択した値をいつでも変更できる属性を追加しようとしましたFixed = falseが、ユーザーが値を変更することを妨げません。RadioButtonList に がある場合にのみ元の値に戻しますAutoPostBack = true。ポストバックの使用はまったく避けたいと思います。

選択/選択されていないラジオ ボタンにグラフィックを使用し、それを純粋な HTML、文字列、ベール ワイヤーとしてコーディングすることを検討しましたが、もっと良い方法があることを願っています。何か案は?

4

2 に答える 2

1

ラジオ ボタン要素を無効にすると、それらはグレー表示され、フォームは元のフォームと同じに見えなくなります。

「無効」の代わりに、ユーザーが値を変更しようとした場合に JavaScript で値を復元することができます。jQuery クリック ハンドラーは、キーボードとマウスの両方の選択を処理します。

    <script type="text/javascript" src='http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js'></script>
    <script type="text/javascript">
        $(function(){ 
            //save list of checked radio buttons
            var checked = $('table input:radio:checked'); 

            $("table input:radio").click(function() { 
                //go through list and re-check initial checks
                $.each(checked, function() { 
                    this.checked=true; 
                }); 
            });

        }); 

    </script>
    <asp:RadioButtonList runat="server" ID="rbl" >
        <asp:ListItem Text="Item1" />
        <asp:ListItem Text="Item2" Selected="True"  />
        <asp:ListItem Text="Item3"  />            
    </asp:RadioButtonList>
于 2010-08-25T15:32:29.197 に答える
0

以下のコードを使用するだけです

  <script type="text/javascript">
    $(function(){ 
        $("#rbl input:radio").attr("disabled", "true");

    }); 

</script>
<asp:RadioButtonList runat="server" ID="rbl" >
    <asp:ListItem Text="Item1" />
    <asp:ListItem Text="Item2" Selected="True"  />
    <asp:ListItem Text="Item3"  />            
</asp:RadioButtonList>
于 2013-03-22T06:45:50.657 に答える