-1

好的,我知道这听起来像是一个重复的问题,因为很多问题都像这样被问过……但我几乎研究了所有问题,但找不到解决方案。

好的,我使用普通的 ajax 调用从服务器收到以下响应:

<form id="ctl00" name="ctl00" method="post" action="RatesGrids.aspx?pt=EMPL&amp;RT=bill">
   <div>
     <input id="__VIEWSTATE" type="hidden" name="__VIEWSTATE" value="/wEPDwUENTM4MQ9kFgJmD2QWAmYPPCsADQEADxYCHgtfIUl0ZW1Db3VudAICZGQYAQUMZ3JkQmlsbFJhdGVzDzwrAAoBCAIBZE4pvNtSHIbu7h7ISmN42ktJBm5R">
   </div>
   <div>
      <table id="grdBillRates" class="tableView" cellspacing="0" rules="all" border="1" style="width:100%;border-collapse:collapse;">
          <thead>
             <tr class="tableViewHeader">
                <th scope="col" style="white-space:normal;">Emp. Id</th>
                <th scope="col" style="white-space:normal;">Last Name</th>
                <th scope="col" style="white-space:normal;">*Res Usage</th>
                <th scope="col" style="white-space:normal;">Source</th>
                <th scope="col" style="white-space:normal;">Eff. Date</th>
                <th scope="col" style="white-space:normal;">*Bill 1</th>
                <th scope="col" style="white-space:normal;">*Bill 2</th>
                <th class="display_none" scope="col" style="white-space:normal;"></th>
                <th class="display_none" scope="col" style="white-space:normal;">Time Stamp</th>
                <th scope="col" style="white-space:normal;">Currency</th>
            </tr>
         </thead>
         <tbody>
            <tr class="tableViewRow" onclick="loadrowitems(0,this)" onmouseover="this.style.cursor='default';">
                  <td style="width:100px;white-space:normal;">10000000034 </td>
                  <td style="width:125px;white-space:normal;">Khan</td>
                  <td style="width:125px;white-space:normal;"></td>
                  <td style="width:80px;white-space:normal;">Local</td>
                  <td style="width:80px;white-space:normal;">12/04/2012</td>
                  <td align="right" style="width:80px;white-space:normal;">3.6500</td>
                  <td align="right" style="width:80px;white-space:normal;">6.0000</td>
                  <td class="display_none" style="width:0px;white-space:normal;">Z-C$ </td>
                  <td class="display_none" style="white-space:normal;">0,0,0,0,1,107,21,255</td>
                  <td style="width:70px;white-space:normal;">Z-C$</td>
            </tr>
            <tr class="tableViewAlternatingRow" onclick="loadrowitems(1,this)" onmouseover="this.style.cursor='default';">
                <td style="width:100px;white-space:normal;">10000000034 </td>
                <td style="width:125px;white-space:normal;">Khan</td>
                <td style="width:125px;white-space:normal;">444 </td>
                <td style="width:80px;white-space:normal;">Local</td>
                <td style="width:80px;white-space:normal;">12/04/2012</td>
                <td align="right" style="width:80px;white-space:normal;">2.1000</td>
                <td align="right" style="width:80px;white-space:normal;">3.2000</td>
                <td class="display_none" style="width:0px;white-space:normal;">Z-C$ </td>
                <td class="display_none" style="white-space:normal;">0,0,0,0,1,107,21,254</td>
                <td style="width:70px;white-space:normal;">Z-C$</td>
           </tr>
        </tbody>
     </table>
   </div>
</form>

现在我必须在响应中附加表格<div id="grdRates"></div>

我正在创建的应用程序只考虑了 IE,因此使用以下代码来满足它:

if (contents) {
    var table;
    if ($(contents).find('table').length > 0)
        table = $(contents).find('table')[0].xml
        if (table) {
            $('#grdRates').parent().show();
            $('#grdRates').html(table);
        }
}

上面的代码在 Firefox 和 Chrome 中都不起作用,将该 xml 设为未定义并且从未显示结果,所以我尝试了以下操作:

if (contents) {
   var table;
   if ($(contents).find('table').length > 0)
       if ($.browser.msie)
            table = $(contents).find('table')[0].xml
       else
            table = $(contents).find('#grdBillRates');

       if (table) {
          $('#grdRates').parent().show();
          if ($.browser.msie)
             $('#grdRates').html(table);
          else
             $('#grdRates').html(table.parent().html());     
       }
   }
}

请注意,这#grdBillRates是上面 HTML 中的表格 ID。现在这在 Firefox 中工作正常(显示网格正常),但我已经尝试了几乎所有的 chrome,但没有运气......

还有一件事我无法更改 DLL,因此解决方案必须使用脚本。任何帮助将不胜感激...谢谢

4

1 回答 1

0

有什么错误吗?

您是否尝试附加它?像这样的东西:

if (contents) {
   var table = $(contents).find('#grdBillRates');
   if (table.length > 0)
       $('#grdRates').parent().show().append(table);
   }
}
于 2013-09-26T15:25:53.783 回答