2012-08-31 5 views
0
아래는
<div id='popup'>  
    <input id='btnConfirm'/>     
</div>          

    $("#btnConfirm").click(function() {         


       var frame = $('#[id$=ReportViewer1ParameterArea]'); //get the frame  

       //s57 is a table element in the viewer        
       frame.contents().find("#Preview")      
       .click(     
        function() {       
         alert('hover!');     
        }      
       );     



      });      

가 Telerik 보고서 뷰어에 의해 렌더링 된 HTML의 일부입니다

<iframe id="ctl00_ctl00_MainContent_MainContent_ReportViewer1ParametersArea"    scrolling="auto" width="100%" height="0px" frameborder="0" align="left"    src="/Telerik.ReportViewer.axd?instanceID=0001be3494c046c69b091014203c2914&culture=en-US&uiculture=en-US&optype=Parameters" style="height: 26px;">    
<table id="parametersTable" cellspacing="0" cellpadding="0" border="0" style="width:100%;border-collapse:collapse;">    
<tr id="parametersRow">     
<td valign="middle" align="center" rowspan="2">    
<input id="Preview" type="submit" onclick="return ParametersPage.Validate();"    value="Preview" name="Preview">    
</td>    
</tr>     

이 질문 같은 ASPX 페이지에서 DIV에 버튼에서 보고서보기에서 미리보기 버튼에 액세스 할 수 없습니다 ID = "Preview"는 JQuery 스크립트에서 위에 주어진 ASPX 페이지에서 ID가 btnConfirm 인 단추가 포함 된 DIV에서 보고서 뷰어에 있습니다. ASPX 페이지에는 Telerik 보고서 뷰어가 있습니다. . 나는 (함수() 이벤트를 클릭 $에 ("#의 btnConfirm을") 코드를 넣어하지만이 작동하지 않습니다 당신은 내게 아이디어를하시기 바랍니다 줄 수

+1

이 #'에서'#을'제거를 [id $ = ReportViewer1ParameterArea] ' – Bogdan

+0

하! Creasy 아이디어는 "selector"로 끝나는 속성입니다.)하지만 selector는 id selector로 얻는 것보다 훨씬 느릴 것이므로 C# 코드에서'ReportViewer1ParameterArea.ClientID'를 사용하여 요소의 실제 ID를 얻을 수 있습니다 . –

+0

@ spider : 당신이 말한 것을 시도해도 작동하지 않습니다. – Ruruboy

답변

0

이 선택하여보십시오.?

var frame = $('[id$="ReportViewer1ParameterArea]"'); 

제거를 값 주위 # 및 추가 따옴표 "

+0

작동하지 않습니다. – Ruruboy

0

아래 코드는 내 코드가 작동하기 위해 개발 된 것입니다 :.

var reportFrame = document.getElementById('ctl00_ctl00_MainContent_MainContent_ReportViewer1ParametersArea'); 
var reportDocument = reportFrame.contentWindow.document; 

var body = reportDocument.getElementsByTagName("body")[0]; 
$(body).contents().find("#Preview").click();