2012-03-17 3 views
1

Я хотел бы, чтобы пользователь вводил значение в два поля ввода, а затем выполнял расчет результатов, которые будут отображаться в трех других полях ввода. Чистый JavaScript был бы замечательным, но если кто-то может указать на хороший плагин jQuery, который тоже будет хорош. Я нашел один, но он предлагает только функции sum, avg, min, max.Расчет нескольких ячеек AJAX

Они введите значение в A и B в один

<input type="text" name="a"> 
<input type="text" name="b"> 

Ниже расчеты будет отображаться на лету в C, D, E.

<input type="text" name="c"> 
<input type="text" name="d"> 
<input type="text" name="e"> 

С = А *. 03

D = В * .03

Е = (А * .03)/2 + (В * .03)

ответ

3
$('input[name="c"]').val($('input[name="a"]').val()*.03); 
$('input[name="d"]').val($('input[name="b"]').val()*.03); 
$('input[name="e"]').val((($('input[name="a"]').val()*.03)/2)+($('input[name="b"]').val()*.03)); 

Working Demo

+0

Это прекрасно работает! Единственное, если я добавлю на вход, он возвращает NaN. Посетители будут вводить шестизначные значения, такие как 125 000 или 250 000. Есть ли способ сделать это? – brianrhea

+0

добавить .replace (/ \,/g, '') после $ ('input [name = "a"]'). Val() и другие .. –

+0

Хм, не работает. Не могли бы вы обновить jsfiddle? – brianrhea

1
$('input[name="c"]').val(parseInt($('input[name="a"]').val())*0.3); 
    $('input[name="d"]').val(parseInt($('input[name="b"]').val())*0.3); 
    var d= (parseInt($('input[name="c"]').val())/2)+parseInt($('input[name="d"]').val())  
    $('input[name="e"]').val(d); 

Jsfiddle: http://jsfiddle.net/vefLX/9/

Смежные вопросы