JQuery формы - я могу добавить входы? - PullRequest
0 голосов
/ 07 февраля 2011

Я пытаюсь добавить эти два или более входных данных в jquery, чтобы получить вывод обоих входных значений (5 + 2), умноженных на сумму «продукта» (50,25 долл. США).Как я могу добавить все входы, не назначая какой-либо класс или идентификатор для этих входов?Можете ли вы направить меня сюда.

<input type="text" value="5" /> <input type="text" value="2" />
<h3></h3>

<script>
$("input").keyup(function () {
    var value = parseFloat($(this).val());
    var item_price = parseFloat("50.25");

    $("h3").text(value * item_price);
   }).keyup();
</script>

Этот код выводит самое последнее отредактированное поле.Например, если я переключу первое поле на значение 2, общая сумма изменится на «100,5», тогда изменение другого поля изменит итоговую сумму, основанную на этом поле, а не на обоих.вставка ключевого слушателя в селектор $ ("input"). each (), но, очевидно, что-то щелкнуло в коде, так как он не дал никаких результатов.

$("input").each(function() {
    value += parseFloat($(this).val());
    $("input").keyup(function () {
    var value = parseFloat($(this).val());
    var item_price = parseFloat("50.25");

    $("h3").text(value * item_price);
}).keyup();
});

Ответы [ 3 ]

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

Ключевым моментом является зацикливание входов и добавление их значений.

var totalInput = 0;
$("input").keyup(function () {
    //zero out the global var totalInput
    totalInput = 0;
    $("input").each(function(){
        //for each input, add value to global totalInput
        totalInput += $(this).val()
    });

    //setup price
    var item_price = parseFloat("50.25");

    //display price times totalInput
    $("h3").text(totalInput * item_price);
});
0 голосов
/ 07 февраля 2011

Похоже, это то, что вы ищете. Поместите все вычисления в функцию и просто привяжите эту функцию к нажатию клавиши. Вы также, вероятно, захотите вызвать эту функцию прямо сейчас, чтобы выполнить начальные вычисления, как я делал в своей демонстрации.

См. Демо: http://jsfiddle.net/za2vJ/4/

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

Ваше определение неверно:

$("input").keyup(function() {
    var itemPrice = 50.25;
    var total = 0.0;
    $("input").each(function() {
       total += parseFloat($(this).val());
    });
    $("h3").html(total * itemPrice);
}).keyup();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...