Я создал пользовательский интерфейс, используя поля формы, используя HTML и CSS. Мой бэкэнд-программирование на PHP. Я должен ввести значение один ко многим отношениям, таким как один заказ имеет много пассажиров. Поэтому я создал поля формы, такие как заказ, и пассажиры могут быть одноразово вставлены в базу данных.
Итак, пользователь может заполнить данные заказа, а затем добавить данные пассажира, используя раздел приложения jquery. если пользователь нажал кнопку «Добавить», на странице будут сгенерированы поля формы с другой информацией о пассажире.
Таким образом, поле «Моя проблема - пассажиры» имеет поле для подсчета, например *. total_tax = yq + yr + tax_3 + tax_4
Это уравнение поля каждого пассажира.
Итак, я хочу узнать, как рассчитать каждого отдельного пассажира? (Когда я набираю текст, автоматически вычисляю значение для поля формы индивидуально)
Я использую последнюю версию PHP 7.3.10. Я уже попробовал расчет с использованием JavaScript и JQuery. Работают только первые поля формы для пассажиров. Это не работает другим пассажирам (если я добавил 10 пассажиров, это работает только первый пассажир).
Итак, я хочу рассчитать все поля формы пассажиров по отдельности, используя javascript или jquery keyup
событие или что-то еще?
order.php:
<form action="includes/exchange-order.inc.php" method="post">
<div id="main_div" class="main_sec_div">
<button style="margin:1rem 1rem 0 0;" type="button" name="add" id="add" class="btn btn-success btn-sm add"><i class="fas fa-plus"></i></button>
<br />
<br />
<label for="validationCustom04">Tax-3 (0.00)</label>
<input name="tax_3[]" type="number" step=".01" class="form-control form-control-sm" id="tax_30" onkeyup="calc()" required>
<br />
<label for="validationCustom03">Tax-4 (0.00)</label>
<input name="tax_4[]" type="number" step=".01" class="form-control form-control-sm" id="tax_40" onkeyup="calc()" required>
<br />
<label for="validationCustom04">Total Tax (0.00)</label>
<input style="background:#ccc;" name="total_tax[]" type="number" step=".01" class="form-control form-control-sm" id="total_tax0" value="0.00" required>
<br />
<button type="submit" name="submitOrder" id="submitOrder" class="btn btn-primary mt-4 pr-4 pl-4">Save</button>
</div>
</form>
<script>
$(document).ready(function() {
var i = 0;
// add button
$(document).on('click', '#add', function() {
i++;
console.log('Add', i);
html = `<div id="sub_div${i}" class="second-div">
<button style="margin:1rem 1rem 0 0;" type="button" name="remove" id="${i}" class="btn btn-danger btn-sm remove"><i class="fa fa-close"></i></button>
<br />
<br />
<label for="validationCustom04">Tax-3 (0.00)</label>
<input name="tax_3[]" type="number" step=".01" class="form-control form-control-sm" id="tax_3${i}" onkeyup="calc()" required>
<br />
<label for="validationCustom03">Tax-4 (0.00)</label>
<input name="tax_4[]" type="number" step=".01" class="form-control form-control-sm" id="tax_4${i}" onkeyup="calc()" required>
<br />
<label for="validationCustom04">Total Tax (0.00)</label>
<input style="background:#ccc;" name="total_tax[]" type="number" step=".01" class="form-control form-control-sm" id="total_tax${i}" value="0.00" required>
<br />
</div>`;
$('#main_div').append(html);
});
// remove button
$(document).on('click', '.remove', function(e) {
var remove_btn_id = $(this).attr('id');
$('#sub_div' + remove_btn_id).remove();
i--;
console.log('Remove', i);
});
});
</script>
tex_calc.js:
//Total Tax[Tax - 3, Tax - 4]
function calc(obj) {
var tax_3 = 0;
var tax_4 = 0;
var total_tax = 0;
var e = obj.id.toString();
if (e == 'tax_3') {
tax_3 = Number(obj.value);
tax_4 = Number(document.getElementById('tax_4').value);
total_tax = Number(document.getElementById('total_tax').value);
}
else if (e == 'tax_4') {
tax_3 = Number(document.getElementById('tax_3').value);
tax_4 = Number(obj.value);
total_tax = Number(document.getElementById('total_tax').value);
}
else if (e == 'total_tax') {
tax_3 = Number(document.getElementById('tax_3').value);
tax_4 = Number(document.getElementById('tax_4').value);
total_tax = Number(obj.value);
}
// Total Tax
total_tax = tax_3 + tax_4;
document.getElementById('total_tax').value = total_tax.toFixed(2);
}
Итак, я рассчитываю рассчитать все поля формы для пассажиров индивидуально, используя событие javascript или jquery keyup
или что-то еще?
Как рассчитать каждого пассажира индивидуально?