Javascript / Ajax / Jquery Динамически рассчитывать форму при изменении - PullRequest
1 голос
/ 16 февраля 2011

У меня есть небольшая форма, которая будет заполнена из Mysql и человеческим мнением. То, что я хочу сделать, это заполнить 3 других поля на основе других.

Пример:

Всего частей (Mysql)

Труд (Пользователь)

Разное (Пользователь)

Sub Total (Динамическая сумма выше)

Налог (Динамический расчет выше - суб * 13%)

Итого (суб + налог)

Я искал вокруг, но не могу найти то, что ищу, и мои навыки равны нулю в Javascript / Ajax / Jquery, поэтому я не смог ничего изменить для работы, хотя я пытался с треском.

Может кто-нибудь помочь мне с этим или указать мне сценарий, который может удовлетворить мои потребности.

Спасибо

Ответы [ 2 ]

1 голос
/ 16 февраля 2011

Хорошо, извините, я думал, что вы ищете какой-то сложный код.Вот простой пример того, что вы ищете.

<html>
<head>
</head>
<body>
<script>
function doMath() {
    var totalparts = parseInt(document.getElementById('parts_input').value);
    var labor = parseInt(document.getElementById('labor_input').value);
    var misc = parseInt(document.getElementById('misc_input').value);
    var subtotal = totalparts + labor + misc;
    var tax = subtotal * .13;
    var total = subtotal + tax;

    document.getElementById('subtotal_input').value = subtotal;
    document.getElementById('tax_input').value = tax;
    document.getElementById('total_input').value = total;
}
</script>

<div>Total Parts: <input type="text" id="parts_input" value="1" readonly="true" /></div>
<div>Labor: <input type="text" id="labor_input" onBlur="doMath();" /></div>
<div>Misc: <input type="text" id="misc_input" onBlur="doMath();" /></div>
<div>Sub Total: <input type="text" id="subtotal_input" readonly="true" /></div>
<div>Tax: <input type="text" id="tax_input" readonly="true" /></div>
<div>Total: <input type="text" id="total_input" readonly="true" /></div>
</body>
</html>

Очевидно, что это не захватывает динамическое значение из базы данных.Если вы используете PHP, вы можете поменять эту строку:

<div>Total Parts: <input type="text" id="parts_input" value="1" readonly="true" /></div>

на такую, как эта:

<div>Total Parts: <input type="text" id="parts_input" value="<?PHP include('getTotalParts.php'); ?>" readonly="true" /></div>

Где getTotalParts.php - это файл, который вы создаете для получения информации вашей базы данных.Он может просто получить информацию и сделать «echo $ totalParts;»

0 голосов
/ 16 февраля 2011

Вы можете просто использовать onblur (активируется, когда пользователь покидает каждое из полей ввода) для вычисления полей.

...<input name="labour" id=total onblur="$('#total').val($('#sub').val() + $('#tax').va())">

Вы не предоставили достаточно информации, чтобы прокомментировать поле "Всего частей".

...