2012-05-24 6 views
2

다음 asp.net 코드가 있습니다. 사용자가 라디오 버튼을 사용하여 행을 선택해야하며, 라디오 버튼을 선택하지 않은 상태에서 jquery 버튼을 비활성화해야합니다. 라디오 버튼이 선택되어 있습니다.라디오 버튼 선택에 따라 버튼을 사용하지 않음

<asp:GridView ID="GrvOpenForApproval" runat="server" 
     AutoGenerateColumns="False" Width="100%"> 
     <Columns> 
       <asp:BoundField HeaderText="Dealer" DataField="Dealer.DealerNumber" /> 
      <asp:BoundField HeaderText="RequestNumber" DataField="RequestNumber" /> 
      <asp:BoundField HeaderText="Chassis" DataField="Vehicle.Chassis"/> 
      <asp:BoundField HeaderText="Commission" DataField="Vehicle.ComissionNumber" /> 
      <asp:BoundField HeaderText="Created" DataField="RequestDate" DataFormatString="{0:dd/MM/yyyy}" /> 
      <asp:BoundField HeaderText="Status" DataField="CurrentStatus" /> 
      <asp:BoundField HeaderText="Comment" DataField="Comments" /> 
      <asp:TemplateField HeaderText="Select One"> 
      <ItemTemplate> 
       <input name="RequestBaseId" type="radio" 
         value='<%# Eval("RequesBaseId") %>' /> 
      </ItemTemplate> 
      </asp:TemplateField> 
     </Columns> 
     <HeaderStyle CssClass="gridheader" /> 
    </asp:GridView> 
    <br /> 
    <div class="clear hideSkiplink"> 
     <asp:Button runat="server" ID="BtnApproveSelected" 
      meta:resourcekey="BtnApproveSelectedResource" 
      onclick="BtnApproveSelectedClick"/> 
    </div> 

나는이 있지만

Ready: function() { 
      $('input[name="RequestBaseId"]').click(function() { 
       if (!$(this).val()) { 
        $("#BtnApproveSelected").attr("disabled", "disabled"); 
       } 
       else { 
        $("#BtnApproveSelected").attr("disabled", ""); 
       } 
      }); 
     } 

이 시도 HTML

<div> 

    <table cellspacing="0" rules="all" border="1" id="MainContent_GrvOpenForApproval" style="width:100%;border-collapse:collapse;"> 

     <tr class="gridheader"> 

      <th scope="col">Dealer</th><th scope="col">RequestNumber</th><th scope="col">Chassis</th><th scope="col">Commission</th><th scope="col">Created</th><th scope="col">Status</th><th scope="col">Comment</th><th scope="col">Select One</th> 

     </tr><tr> 

      <td>&nbsp;</td><td>1</td><td>&nbsp;</td><td>&nbsp;</td><td>24/05/2012</td><td>Approval1</td><td>123</td><td> 

       <input name="RequestBaseId" type="radio" 

         value='1' /> 

      </td> 

     </tr><tr> 

      <td>DEAL-1</td><td>1</td><td>CH1</td><td>123C</td><td>24/05/2012</td><td>Approval1</td><td>12</td><td> 

       <input name="RequestBaseId" type="radio" 

         value='2' /> 

      </td> 

     </tr><tr> 

      <td>&nbsp;</td><td>1</td><td>&nbsp;</td><td>&nbsp;</td><td>24/05/2012</td><td>Approval1</td><td>123</td><td> 

       <input name="RequestBaseId" type="radio" 

         value='3' /> 

      </td> 

     </tr><tr> 

      <td>DEAL-1</td><td>1</td><td>CH1</td><td>123C</td><td>24/05/2012</td><td>Approval1</td><td>12</td><td> 

       <input name="RequestBaseId" type="radio" 

         value='4' /> 

      </td> 

     </tr><tr> 

      <td>DEAL-1</td><td>1</td><td>CH1</td><td>123C</td><td>24/05/2012</td><td>Approval1</td><td>12</td><td> 

       <input name="RequestBaseId" type="radio" 

         value='5' /> 

      </td> 

     </tr> 

    </table> 

</div> 

    <br /> 

    <div class="clear hideSkiplink"> 

     <input type="submit" name="ctl00$MainContent$BtnApproveSelected" value="Approve selected request" id="MainContent_BtnApproveSelected" disabled="disabled" class="aspNetDisabled" ClientID="BtnApproveSelected" /> 

    </div> 

답변

2

생성 작동하지 않는 시도 :

$('input[name="RequestBaseId"]').change(function() { 
    if (!$(this).val()) { 
     $("#BtnApproveSelected").prop("disabled", true); 
    } 
    else { 
     $("#BtnApproveSelected").prop("disabled", false); 
    } 
}); 

당신은 또한에 ClientID를 추가해야합니다 당신의 버튼 :

<asp:Button runat="server" ID="BtnApproveSelected" ClientIDMode="Static" 
     meta:resourcekey="BtnApproveSelectedResource" 
     onclick="BtnApproveSelectedClick"/> 

input[name="RequestBaseId"] 선택기를 클래스를 사용하여 더 잘 만들 수도 있습니다.

+0

라디오 버튼의 변경 이벤트를 지원하지 않는 웹킷 기반 브라우저에주의하십시오! 이 경우의 회피 방법은'change()'대신'click()'을 사용하는 것입니다. 적어도 내가 선택한 해결 방법은 옳거나 그름입니다. – SpaceBison

+0

을 (를) 클릭하거나 변경하지 마십시오. 아무 반응이 없습니다. –

+0

질문을 편집하여 ASP 코드에 의해 생성 된 HTML을 포함시킬 수 있습니까? –

관련 문제