0

ラジオ ボタン リストの値が「N」の場合、ラベル コントロールを表示/非表示にしようとしています。コードは正常に動作しますが、ラジオ ボタンのチェックを外すと、Label コントロールが非表示になりません。また、Jquery mousedown イベントを使用して選択をクリアしています。提案してください。

var radioList = "#<%= radioLst1.ClientID %>";
  var lblID = document.getElementById('<%=LblIDNumber.ClientID%>');

    $(radioList + " input:radio").click(function (e) {
        if ($('#<%= radioLst1.ClientID %> input:checked').val() == "N") {
            lblID.style.display = $(this).attr("checked") ? 'inline' : 'none';
        }
        else {
            lblID.style.display = 'none';
        }
    });

次のコードを使用して、ラジオ ボタン リストの選択をクリアしています。

 $(radioList + " input:radio").mousedown(function (e) {
        if ($(this).attr("checked") == true) {
            setTimeout("$('input[id=" + $(this).attr('id') + "]').removeAttr('checked');", 200);
            lblID.style.display = 'none';
        }
        else {
            return true
        }
    });

                <asp:Label ID="LblIDNumber" style="display:none" runat="server">Number</asp:Label>

                <asp:RadioButtonList ID="radioLst1" runat="server">
                    <asp:ListItem Value="U">Unknown</asp:ListItem>
                    <asp:ListItem Value="N">Not Applicable</asp:ListItem>
                </asp:RadioButtonList>
4

2 に答える 2

0

radioLst1.ClientIDこれは asp.net によってテーブルに変換されます。

このようにプロセスを簡素化できます

var lblID = $('#mylabel');


 $('input:radio').on('click', function(){

   if($(this).val() == 'N')
   {
   lblID.hide();
  }else{
  lblID.show();
  }       

 });

そしてあなたがコントロールします

<label id="mylabel">This is a label</label>

 <input id="radioLst1_0" type="radio" value="U" name="radioLst1">
  <label for="radioLst1_0">Unknown</label>

 <input id="radioLst1_1" type="radio" value="N" name="radioLst1">
     <label for="radioLst1_1">Not Applicable</label>

これが実用的なフィドルです

于 2012-09-18T19:46:57.327 に答える
0

これらすべてを UpdatePanel にラップできます。次に、ボタン クリックごとにコード ビハインド イベントを発生させ (それらすべてを同じイベントにサブスクライブできます)、ラベルをボタンの .Checked プロパティにバインドします。UpdatePanel はすべてを非同期にします。

これを javascript/jquery の代替として提案します。少しすっきりして管理しやすくなります。最初はもう少しマークアップしますが、変更を加えるのは非常に簡単です。

于 2012-09-18T20:14:03.000 に答える