2013-09-26 5 views
-1

Хорошо, я знаю, это может звучать как повторяющийся вопрос, так как было задано много вопросов, как этот ... но я просмотрел почти все из них и не смог найти, что решение.jquery, работающий в firefox, но не в хроме

Ok Я получаю следующий ответ от сервера с помощью обычного 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. Теперь это отлично работает в firefox (показывая сетку в порядке), но я попробовал почти все для хром, но не повезло ...

И еще одно, что я не могу изменить DLL, поэтому решение должно использовать скрипт , Любая помощь будет оценена ребятами ... Спасибо

+3

«Теперь это не работало ни в Firefox, ни в Chrome, поэтому я попробовал следующее:« Как это не работает? «Теперь это отлично работает в firefox, но я пробовал почти все для хром, но не повезло ...» Опять же, как это не работает в Chrome? Если мы не знаем, в чем проблема, как мы можем помочь вам исправить это? – Pete

+0

Извините @Pete, я плохо для путаницы .. просто отредактировал вопрос .. '# grdBillRates' - это таблица из ответа, и я хочу добавить/назначить его на innerHTML' # grdRates' ... надеюсь, что очистка это –

ответ

0

есть ошибки?

Вы пытались его добавить? что-то вроде этого:

if (contents) { 
    var table = $(contents).find('#grdBillRates'); 
    if (table.length > 0) 
     $('#grdRates').parent().show().append(table); 
    } 
} 
+0

Нет, ошибок нет. Он просто показывает мне «[object]» что-то вместо таблицы. –

+0

try appending 'table.html()' – Pete

+0

@Pete, я все пробовал, он просто не отображается ... подождите, позвольте мне поставить несколько скриншотов для консоли webkit. –

Смежные вопросы