1

正直、これは簡単だと思いました。

ApprovedまたはRejectedの2つの値を持つradioButtonListがあります。

選択した値が承認されている場合は、texboxを非表示にします。[拒否]が選択されている場合は、テキストボックスを表示して、拒否の理由をボックスに入力できるようにします。

これを機能させることができません。私は試した:

<script language="javascript" type="text/javascript">
    $(document).ready(function () {
        $('input:[name=<%= apr_rej.ClientID %>]').click(function () {
            if ($(this).val() == 'Approved') {
                $('#<%= divReason.ClientID %>').hide();
            } else {
                $('#<%= divReason.ClientID %>').show();
            }
        });
    });
</script>

divReasonを宣言する必要があります。

それから私は試しました:

<script language="javascript" type="text/javascript">
    $(document).ready(function () {
        $('input:[name=<%= apr_rej.ClientID %>]').click(function () {
            if ($(this).val() == 'Approved') {
                $('#divReason').hide();
            } else {
                $('#divReason').show();
            }
        });
    });
</script>

エラーはありませんが、イベントは発生しません。

マークアップは次のとおりです。

       <tr>
         <td align="left" class="style1" style="border: thin solid #6699FF">
             <h3 style="text-align: left">
                 2.<strong> Select One:</strong></h3>
           </td>
            <td style="border: thin solid #6699FF" class="style5"><asp:RadioButtonList runat="server" 
                    ID="apr_rej" repeatdirection="Horizontal" TextAlign="Left" CellPadding="0" 
                    CellSpacing="0" style="font-weight:700; text-align: center;" 
                    Height="21px" Width="406px" >
                    <asp:ListItem Text="Approve" Value="Approved" />
                    <asp:ListItem Text="Reject" Value="Rejected" />
               </asp:RadioButtonList>
           </td>
       </tr>
       <tr id="divReason">
          <td align="left" class="style3" style="border: thin solid #6699FF">
             <h3 class="style4">
3. Enter Comments:</h3>
          </td>
          <td style="border: thin solid #6699FF;font-Weight:bold;" class="style5">Comments:(If this form is Rejected, you must give a reason.)<br />
              <asp:TextBox id="txtreason" runat="server" TextMode ="MultiLine" 
                 style="border: 1px solid #6699FF" BorderColor="White" Height="114px" 
                  Width="574px"></asp:TextBox><br />
         </td>
      </tr>

私が間違っていることがわからない。

4

1 に答える 1

1

セレクターで名前とIDを比較しているので、ワイルドカードを含むID属性セレクターを使用する必要があります。runat = "server"がないため、で使用することはできClientIDませdivReasonん。

<script language="javascript" type="text/javascript">
    $(document).ready(function () {
        $('input:[id*=<%= apr_rej.ClientID %>]').click(function () {
            if ($(this).val() == 'Approved') {
                $('#divReason').hide();
            } else {
                $('#divReason').show();
            }
        });
    });
</script>
于 2013-03-01T18:25:58.540 に答える