2013-11-22 4 views
0

У меня есть таблица, у второй колонки есть страна, у меня много стран, но мне нужно показать, сколько из США и сколько из Японии.Сравнить значения JQuery и сумма

Я использую этот код для получения значений из столбца, но , как я сравниваю и подсчитываю эти значения?

var items=[]; 
//Iterate all td's in second column 
$('#MyTable>tbody>tr>td:nth-child(2)').each(function(){ 
    //add item to array 
    items.push($(this).text());  
}); 

и мне нужно отобразить это в нижней части таблицы

здесь является HTML

<table id="MyTable" width="620px;"> 
    <tbody> 
     <tr> 
      <td> </td> 
      <td class="country">US</td> 
      <td><a href="http://google.com" target="_blank">google.com</a></td> 
      <td>12/21/2012</td> 
     </tr> 
     <tr class="alt"> 
      <td> </td> 
      <td class="country">Japan</td> 
      <td><a href="http://google.info" target="_blank">google.info</a></td> 
      <td>12/21/2012</td> 
     </tr> 
     <tr> 
      <td> </td> 
      <td class="country">Japan</td> 
      <td><a href="http://google.info" target="_blank">google.info</a></td> 
      <td>12/21/2012</td> 
     </tr> 
     <tr class="alt"> 
      <td>Migration</td> 
      <td class="country">tokyo</td> 
      <td><a href="http://google.info" target="_blank">google.info</a></td> 
      <td>12/21/2012</td> 
     </tr> 
    </tbody> 
</table> 

должен показывать Японию 2, США: 1 Токио: 1

+0

При абсолютном минимуме, нам нужны образцы, что в '$ (это) .text() ', но лучше было бы предоставить несколько строк вашей разметки таблицы, которые представляют ваш набор данных. – ajp15243

+0

Не уверен, что я получил это: 'сколько из США, и сколько из Японии. Вы говорите о странах, не так ли? – melancia

+0

@MelanciaUK - Я предполагаю, что должны быть города – tymeJV

ответ

0

С вами используют jQuery, вы можете взглянуть на эту скрипку: она делает то, что вы хотите: http://jsfiddle.net/QtBlueWaffle/LHK8h/2/

Но вы должны смотреть на: http://www.w3schools.com/jsref/jsref_obj_array.asp

Вот код, который я использовал:

var items = []; 
//Iterate all td's in second column 
$('#MyTable>tbody>tr>td:nth-child(2)').each(function() { 
    //add item to array 
    items.push($(this).text()); 
}); 

var countries = []; 
var countriesNumbers = []; 
for (var i = 0; i < items.length; i = i + 1) { 
    var index = countries.indexOf(items[i]); 
    if (index != -1) { 
     countriesNumbers[index] += 1; 
    } else { 
     countries.push(items[i]); 
     countriesNumbers.push(1); 
    } 

} 

// Build the resulting string 
var result = ""; 
for (var i = 0; i < countries.length; i += 1) { 
    result = result.concat(countries[i]).concat(":").concat(countriesNumbers[i]).concat(";"); 
} 
// Show the result 
$("#result").html(result); 

Надеется, что это помогает

+0

спасибо! выглядит неплохо! – Darkcus

+0

@ Darkcus: Если это соответствует вашим потребностям, вы можете принять ответ. – ThisIsSparta

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