#javascript #php #html #laravel-5
#javascript #php #HTML #laravel-5
Вопрос:
Привет, ребята, я пытаюсь получить общую цену и количество каждого элемента. Итак, у меня фиксированная цена в 20 долларов. цена указана нормально, но она не учитывает количество каждого элемента….
Это код для общего количества, и он отлично работает в поле ввода.
function changeval() {
$total = parseInt($("#A1").val()) parseInt($("#B1").val()) parseInt($("#C1").val()) parseInt($("#D1").val()) parseInt($("#E1").val());
$('.A').val($("#A1").val());
$('.B').val($("#B1").val());
$('.C').val($("#C1").val());
$('.D').val($("#D1").val());
$('.E').val($("#E1").val());
$('.total').val($total);
}
ВОТ в ЧЕМ ПРОБЛЕМА когда я добавляю этот код, цена получается хорошей, но количество больше не ОТОБРАЖАЕТСЯ.
function changeval() {
$price = parseInt($("#A1").val() * 20) parseInt($("#B1").val() * 20) parseInt($("#C1").val() * 20) parseInt($("#D1").val()* 20) parseInt($("#E1").val()* 20);
$('.A').val($("#A1").val());
$('.B').val($("#B1").val());
$('.C').val($("#C1").val());
$('.D').val($("#D1").val());
$('.E').val($("#E1").val());
$('.price').val($price);
}
итак, я хочу иметь что-то вроде этого
ЦЕНА = 40 КОЛИЧЕСТВО = 2
ЦЕНА = 20 КОЛИЧЕСТВО = 1 » » поскольку у меня 20 в качестве фиксированной цены. Любая помощь будет оценена.
Комментарии:
1. Пожалуйста, разместите свой HTML-код.
2. кроме того, не помечайте вопросы javascript с помощью java. они не совпадают
3. Может быть, это как-то связано с умножением на 20 внутри
parseInt
метода вместо внешнего4. Разместите свой HTML, чтобы мы могли лучше проконсультировать вас.
5. Привет, ребята, я загрузил html.
Ответ №1:
Если вы хотите получить как totalQuantity, так и TotalPrice, вам следует сначала вычислить totalQuantity, затем вычислить TotalPrice = totalQuantity * 20 (поскольку у вас фиксированная цена на все товары).
$(document).ready(function() {
// Handle onchange event for input number
$('.qty').on('input', function() {
$qty_total = 0;
// Calculate total qty
$(".qty").each(function() {
$qty_total = parseInt($(this).val());
});
// Update to Qty input
$("#qty_total").val($qty_total);
// Update to Price input
$("#price_total").val($qty_total * 20);
})
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div>
<table>
<tr>
<td>Item A</td>
<td><input value=1 type="number" id="qty1" class="qty"></td>
</tr>
<tr>
<td>Item B</td>
<td><input value=2 type="number" id="qty2" class="qty"></td>
</tr>
<tr>
<td>Item C</td>
<td><input value=3 type="number" id="qty3" class="qty"></td>
</tr>
<tr>
<td>Item D</td>
<td><input value=4 type="number" id="qty4" class="qty"></td>
</tr>
<tr>
<td>Item E</td>
<td><input value=5 type="number" id="qty5" class="qty"></td>
</tr>
<tr>
<td>Total Qty</td>
<td><input id="qty_total"></td>
</tr>
<tr>
<td>Total Price</td>
<td><input id="price_total"></td>
</tr>
</table>
</div>
Ответ №2:
Причина в том, что вы используете одно и то же имя функции для всех функций onchange. т.е. для обновления цены и общего количества вы используете одну и ту же функцию changeval1().
Попробуйте изменить имя функции. Обе функции имеют одинаковые имена. Одна функция обновляет общую сумму, а другая — цену. Таким образом, когда обе функции имеют одинаковое имя, обновляется как цена, так и общее количество.
Комментарии:
1. Что касается моего понимания ситуации, это не две разные функции, а две разные версии одной и той же функции.
2. две разные версии, но с одинаковым названием. не так ли?
3. да, я только что внес исправление. На самом деле я не уверен, что это правильный способ получить общую цену, я просто пытаюсь посмотреть, что работает.