Ok, так как этот вопрос не ясно, я обновил его, как показано ниже:JQuery: Получение значений из текстовых полей, созданных асинхронно?
Я загрузив CSV файл на сервер, он анализирует файл CSV и получить значение столбца Amount, а затем подготавливает HTML, содержащий текстовые поля с суммой. Этот html сгенерированный затем передается в javascript, который выводит полный html содержащий текстовые поля со значениями.
код сервера, который возвращает HTML через Ajax вызова:
foreach($amounts as $val){
$html .+ '<input type="text" class="inputText" value="'.$val['amount'].'"/>';
}
echo $html;
Jquery код, который выводит HTML (внутри generateHtml()
функции):
$('#amtblock').html(html);
HTML, что приводит к:
<div id="amtblock">
<input type="text" class="inputText" value="3"/>
<input type="text" class="inputText" value="78"/>
<input type="text" class="inputText" value="12"/>
<input type="text" class="inputText" value="21"/>
<input type="text" class="inputText" value="89"/>
<input type="text" class="inputText" value="22"/>
<input type="text" class="inputText" value="222"/>
</div>
Теперь, когда я пытаюсь получить все значения текстового поля с помощью этого кода (внутри calculateAmount()
функция):
$('.inputText').each(function() {
total += Number($(this).val());
});
total
не печатается в коде выше. Я хочу рассчитать общее количество и показать его. Как я могу получить и установить значения для элементов, которые я создал динамически?
Когда и как вы создаете текстовые поля? –
Вам нужно больше узнать о своем коде. –
Если они "не зарегистрированы в DOM", где они? Вы пытаетесь сказать, что они не являются частью исходного html, но они добавляются динамически? – nnnnnn