JQuery, загрузка, анализ, суммирование и отображение с внешней страницы - PullRequest
0 голосов
/ 12 апреля 2011

Я пытаюсь загрузить внешнюю страницу, которая содержит такую ​​таблицу:

<table id="uniquedatatable">
 <tr class="row"> 
  <td class="num col"><a> 1 </a></td>
  <td class="str col"><a>Text</a></td>
  <td class="num col"><a>  7</a></td>
  <td class="str col"><a>Text</a></td>
 </tr>
</table>

* Обратите внимание на пробелы в именах классов ТД и вокруг чисел (1,7).

Мне нужно найти все ячейки (td) с классом «num col», получить числовое значение между тегами и суммировать все значения. Последнее, что мне нужно, чтобы отобразить это значение на моей собственной странице.

Таким образом, результат, который я получу из таблицы выше, должен быть: 1 + 7 = 8.

Я получил это далеко:

 <script src="http://code.jquery.com/jquery-1.5.1.min.js" type="text/javascript"></script>

 <p id="result"></p>

 <script type="text/javascript">
   var url = "http://someurl";
   var sum = 0;

   $('#result').load('url #uniquedatatable tr td.num col a', function() {
     sum += Number($(this).text());
   });

   _gel('result').innerHTML = sum;
 </script>

Понимая, что что-то не так (надеюсь, что это будет почти правильно), мне нужна помощь, чтобы соединить здесь «точки», чтобы я мог:

  1. Рассчитать сумму (это «большая» проблема: S)

  2. Запишите результат обратно.

Любая помощь приветствуется.

Ответы [ 2 ]

1 голос
/ 12 апреля 2011

Попробуйте это:

<script type="text/javascript">    
        var url = "<LOCAL_URL>";    
        var sum = 0;     
        $('#result').load(url, function() { 
            $("#uniquedatatable tr td.num.col a", "#result" ).each(function(){
                sum += parseInt($(this).text(), 10);
            });
                     _gel('result').innerHTML = sum;  

        });     
        </script> 
1 голос
/ 12 апреля 2011

для расчета вы можете использовать sum += parseInt($(this).text());

...