Пропуск Эл массива через parseInt()
В html коде:
[td id='var1']число[/td] - [td id='var12']число[/td]. Есть массив: let arr = ['var1', 'var2'....'var12']; Мне надо каждый val преобразовать в число (это же строки пока) и записать его в соотв. переменные var: let var1 = parseInt($('td#var1').html()); Пишу: for(let i= 0; i <= arr.length; i++) { parseInt($( + " ' td#" + arr[item] + " ' " + ).html()); } Не срабатывает. Пишу: arr.forEach(function(item, i, arr) { parseInt($( + " ' td#" + arr[item] + " ' " + ).html()); }); Тоже не помогает. Подскажите что не так? Подключена jQuery-2.1.0.min.js |
Каждое значение в отдельную переменную складывать глупо, да и не так это просто.
Можно использовать eval, что не есть хорошо; можно гадить в глобальную ОВ, что также не хорошо. Лучше создать массив и складировать значения в него. Зачем у вас + перед селектором везде стоит? const values=$('[id^="var"]').map(function(){ return parseInt(this.textContent); }).toArray(); |
$('td[id^="var"]').each(function(){ window[this.id] = this.textContent }); |
var это образное значение td. Они по разному называются все 12 значений в ячейках. + Чтоб отделить js от селектора
|
<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script> <table> <tr> <td id="var1">10</td> <td id="var2">20</td> <td id="var3">30</td> <td id="var4">40</td> <td id="var5">50</td> </tr> </table> <script> $('td[id^="var"]').each(function () { window[this.id] =+this.textContent }); console.log(var1,var2,var3); </script> я это понял, вы теги напишите нормально и будет работать |
Массив такой:
let janArr = ['prem1', 'nous1', 'ovd1', 'ovz1', 'pnvl1', 'secr1', 'szvz1', 'qual1', 'naem1', 'mat1', 'nal1', 'sum1']; Мне надо из ячейки td (prem1...) взять числовое значение, пропарсинтить и записать уже число это в переменную prem1 |
Я с телефона. Много писать.
|
И так для каждой переменной в массиве
|
janArr.forEach(function(el){ window[el] = +document.getElementById(el).textContent }); |
Вообщем идея такая. Я получаю зп и написал таблицу на html, где колонки это каждая надбавка и последняя колонка полученная сумма. Пока все работает, только много кода. Я хочу его сделать меньше просто. Итоге сценарий берет сумму каждой надбавки из каждой td, складывает их и сравнивает с общей полученной суммой. Если не соответствует - .show() окно, где сказано на сколько. Для их сложения я и хочу их парсинтить в числа.
|
Часовой пояс GMT +3, время: 16:57. |