|
|
|
| Мне нужно сделать умножение значений подгружаемых input`ов.
Подгрузку input делаю так
$('#add').click(function() {
$('<tr id="str"><td><input type="text" name="name[]" style="width: 283px"></td><td><input type="text" name="quantity[]" style="width: 50px" class="quantity" id="quantity"></td><td><input type="text" name="price[]" style="width: 100px" class="price" id="price"></td><td><input type="text" name="sum[]" style="width: 120px" class="sum" id="sum"></td></tr>').appendTo('.table_base');
});
|
Умножить пытаюсь так
$("input[name='quantity[]'],input[name='price[]']").change(function () {
var quantity = $("#quantity").val();
var quantity = parseFloat(quantity);
var price = $("#price").val();
var price = parseFloat(price);
var result = quantity * price;
$("#sum").val(result);
});
|
Но так умножение срабатывает только для первой подгружаемой строки. Как сделать чтобы перемножались и остальные подгружаемые инпуты? | |
|
|
|
|
|
|
|
для: kapitalist
(04.10.2013 в 11:55)
| | Потому, что значение id в документе должно быть уникальным.
Ваш скрипт находит самый первый на странице <input type="text" name="sum[]" style="width: 120px" class="sum" id="sum"> и лепит в него значение самых первых id="quantity" и id="price". | |
|
|
|
|
|
|
|
для: Deed
(04.10.2013 в 13:47)
| | А как мне при подгрузке инпута задать ему уникальное значение ид? | |
|
|
|
|
|
|
|
|
для: Deed
(04.10.2013 в 19:39)
| | Вау. Большое спасибо, сейчас буду сидеть разбираться в коде. | |
|
|
|
|
|
|
|
для: Deed
(04.10.2013 в 19:39)
| | А вы не подскажите, как это обработать в php коде. Если сделать так:
$name_pr = isset($_POST['name_pr']) ? $_POST['name_pr'] : array();
foreach ($name_pr as $k) {
echo "$k";
}
|
то отображаются строки заданные html, а подгружаемые через js не обрабатываются | |
|
|
|
|
|
|
|
для: kapitalist
(05.10.2013 в 09:58)
| | Ajax хватает первый же вывод результата работы серверного скрипта, и, изменившись в лице, бежит показывать его публике.
Поэтому не нужно выводить каждую итерацию цикла, а собирать промежуточные результаты в переменную и выводить их одним махом:
<?
$echo='<div class="result">';
foreach($name_pr as $k) {
$echo.='<span class="result_element">'.$k.'</span><br>';
}
$echo.='</div>';
echo $echo;
?>
|
| |
|
|
|
|
|
|
|
для: Deed
(05.10.2013 в 10:57)
| | К сожалению это не помогло.
Я вообще результат вывожу не через ajax. А просто пхп кодом на отдельной странице.
Но в любом случае отображает только одну строку. | |
|
|
|