Пропуск Эл массива через 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, время: 14:40. |