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 Report Viewer 呈现的 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 页面上 ID= btnConfirm 按钮的 DIV 访问报表查看器中的预览按钮 ID="Preview",如上面在 JQuery 脚本中给出的。ASPX 页面包含 Telerik Report Viewer。我将代码放在 $("#btnConfirm").click(function () 事件中,但这不起作用。你能给我一些想法吗?

4

2 回答 2

0

尝试使用这个选择器:

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

删除#并在值周围添加引号"

于 2012-08-31T23:04:53.423 回答
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();
于 2012-09-01T06:13:58.360 回答