2011-08-26 5 views
0

Ok 여러 솔루션을 확인했는데 행운이 없습니다. 도대체 내가 잘못하고있다. 나는 경고 온로드를하고 check_controls에서 ID를 검색하지만 변화asp 체크 박스가 jquery 함수를 실행하지 않습니다.

<asp:CheckBox ID="chkAutoReverse" runat="server" CssClass="" Width="200px" 
    Text="Auto Reverse:" TextAlign="Right" AutoPostBack="false" /> 

$(document).ready(function() { 
    var check_controls = $('input[id*=chkAutoReverse]'); 
    var AutoReverseOptions = document.getElementById('AutoReverseOptions'); 

    $(check_controls).change(function() { 
     if ($(this).is(':checked')) { 
      alert($(check_controls).attr("id")); 

     } else { 
      alert($(AutoReverseOptions).attr("id")); 
     } 
    }); 
}); 

추가 HTML 마크 업에 수

이 다른 div를하고 FIELDSET에 중첩되어
      <div style="height: 60px"> 
          <div class="singlepanelcontentleft"> 
           <asp:CheckBox ID="chkAutoReverse" runat="server" CssClass="" Width="200px" Text="Auto Reverse:" 
            TextAlign="Right" AutoPostBack="false" /></div> 
          <div id="AutoReverseOptions" class="singlepanelcontentleft" style="display: none;"> 
           <asp:RadioButtonList ID="optTabs" runat="server" RepeatDirection="Horizontal" RepeatLayout="Table" 
            Width="91%" Height="22px"> 
            <asp:ListItem Text="Next Period" Value="1" Selected="true"></asp:ListItem> 
            <asp:ListItem Text="2 Periods from Now" Value="2"></asp:ListItem> 
            <asp:ListItem Text="3 Periods from Now" Value="3"></asp:ListItem> 
           </asp:RadioButtonList> 
          </div> 
         </div> 

. 다른 코드는 렌더링하지 않았다 붙여 넣기 아니라

+0

코드로 데모 페이지를 만들었습니다. 제게 잘 작동합니다. 나머지 마크 업은 어떻게 생겼습니까? –

+0

@Rick, 원래 게시판을 업데이트했습니다. – Tim

답변

0

OK 나는 답을 발견했다. here의 세부 정보를 얻을 수 있습니다. 그것은 패널이로드 될 때 업데이트 패널에있는 컨트롤을 비우고 jQuery 이벤트에 다시 가입하지 않습니다.

1

당신은 다음 사용 asp.net ID를 참조해야합니다 :

<%= chkAutoReverse.ClientID %> 
+0

두 번째 시도에서 그 행운과 행운을 시험해 보았습니다. – Tim

0

이 확인란을 듣는 것이 더 효과적입니다 변경 이벤트보다 클릭 이벤트.


속성 선택기는 따옴표로 묶어야합니다 :

var check_controls = $('input[id*="chkAutoReverse"]'); 
+0

둘 중 하나를 선택하면 행운을 빕니다. – Tim

관련 문제