Хранение данных из двух строк в массиве jquery - PullRequest
0 голосов
/ 10 сентября 2011
<table>
    <tbody>
        <tr class="center">
            <td></td>
            <td width="35"></td>
            <td width="35"></td>
            <td width="35"></td>
            <td width="35"></td>
            <td width="35"></td>
            <td width="35"></td>
            <td width="35"></td>
            <td width="35"></td>
            <td width="35"></td>
            <td width="35"></td>
            <td width="35"></td>
            <td width="35"></td>
        </tr>
        <tr>
            <td width="20%">
                Numar:
            </td>
            <td style="text-align:center" class="unit-item hidden">
                0
            </td>
            <td style="text-align:center" class="unit-item hidden">
                0
            </td>
            <td style="text-align:center" class="unit-item hidden">
                0
            </td>
            <td style="text-align:center" class="unit-item hidden">
                0
            </td>
            <td style="text-align:center" class="unit-item hidden">
                0
            </td>
            <td style="text-align:center" class="unit-item hidden">
                0
            </td>
            <td style="text-align:center" class="unit-item hidden">
                0
            </td>
            <td style="text-align:center" class="unit-item hidden">
                0
            </td>
            <td style="text-align:center" class="unit-item hidden">
                0
            </td>
            <td style="text-align:center" class="unit-item hidden">
                0
            </td>
            <td style="text-align:center" class="unit-item hidden">
                0
            </td>
            <td style="text-align:center" class="unit-item hidden">
                0
            </td>
        </tr>
        <tr>
            <td align="left" width="20%">
                Pierderi:
            </td>
            <td style="text-align:center" class="unit-item hidden">
                0
            </td>
            <td style="text-align:center" class="unit-item hidden">
                0
            </td>
            <td style="text-align:center" class="unit-item hidden">
                0
            </td>
            <td style="text-align:center" class="unit-item hidden">
                0
            </td>
            <td style="text-align:center" class="unit-item hidden">
                0
            </td>
            <td style="text-align:center" class="unit-item hidden">
                0
            </td>
            <td style="text-align:center" class="unit-item hidden">
                0
            </td>
            <td style="text-align:center" class="unit-item hidden">
                0
            </td>
            <td style="text-align:center" class="unit-item hidden">
                0
            </td>
            <td style="text-align:center" class="unit-item hidden">
                0
            </td>
            <td style="text-align:center" class="unit-item hidden">
                0
            </td>
            <td style="text-align:center" class="unit-item hidden">
                0
            </td>
        </tr>
    </tbody>
</table>

У меня есть таблица, которую я не могу изменить, как я могу сохранить числа из этих двух строк в два массива с помощью jQuery?

Ответы [ 4 ]

1 голос
/ 10 сентября 2011

Это будет работать, только если вы хотите, чтобы числа из двух последних строк в таблице из трех строк -

var arrone = [];
var arrtwo = [];

$("table tr").each(function(i) {
    $(this).find('td.unit-item').each(function() {
        i == 1 ? arrone.push($.trim($(this).text())) : arrtwo.push($.trim($(this).text()));
    })
})

console.log(arrone.join(','));
console.log(arrtwo.join(','));

Рабочая демонстрация - http://jsfiddle.net/ipr101/qRSDM/

Вот несколько более краткий пример использованияmap -

var arrone = $("table tr:nth-child(2)").find('td.unit-item').map(function() {
    return $.trim($(this).text())
});

var arrtwo = $("table tr:nth-child(3)").find('td.unit-item').map(function() {
    return $.trim($(this).text())
});

console.log(arrone.get().join(','));
console.log(arrtwo.get().join(','));

Рабочая демонстрация - http://jsfiddle.net/ipr101/XjXaj/1/

0 голосов
/ 10 сентября 2011

Размещение более общего решения, которое будет работать для произвольного числа строк.

Рабочая демонстрация

var bArray = [];
$('tr').has('td.unit-item').each(function() {
    bArray.push($(this).find('td.unit-item').map(function() {
        return $.trim(this.innerHTML);
    }).get());
});
for(var i = 0; i < bArray.length; i++) {
    console.log(bArray[i]);
}
0 голосов
/ 10 сентября 2011

Вы можете использовать функцию .map. Я сейчас на мобильном устройстве, поэтому не могу его протестировать, но должно сработать что-то вроде следующего:

var result = jQuery("table tr").map(function () {return jQuery(this).find("td").map(function () { return jQuery(this).text(); }) });

0 голосов
/ 10 сентября 2011
var array = new Array();
$("td .unit-item").each(function(){
    array.push($(this).html());
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...