как отобразить входное значение из одного ввода в другой

#jquery

#jquery

Вопрос:

У меня есть этот код здесьhttp://jsfiddle.net/RzBeM/65 / вы увидите два поля ввода, называемых количеством. По сути, первая часть умножает количество на значение очков карты и возвращает значение, а во второй части количество умножается на значение карты и выдает значение. Проблема в том, что я должен вводить число в оба входа, я хотел бы иметь один вход, но выполнять оба умножения одновременно. Также, если вы вводите значение и стираете его, отображается NaN, как мне это предотвратить?

Комментарии:

1. NaN означает не число. Позвольте мне взглянуть на код. Две секунды. Не могли бы вы попробовать написать свой пост еще раз? Я не уверен на 100%, что вы пытаетесь сделать. Вы хотели бы убрать из отображения первое вычисление?

2. @OptimusCrime о, хорошо, спасибо, есть ли способ принимать только целые числа и ничего больше?

3. Ваша переменная howMany указывает на точки карты, это предназначено?

4. @bammab: Не могли бы вы решить эту проблему?

Ответ №1:

здесь у вас есть модифицированная версия вашего кода. я удалил второй ввод количества

 $("input[id*=-id-]").keyup(function() {
    var quantity = $(this).val();
    var cardPoints = parseInt($(this).parents("tr").find('input:eq(1)').val());
    var realValue = parseInt($(this).parents("tr").find('input:eq(2)').val());

    cardCalc = cardPoints * quantity;
    realCalc = realValue * quantity;

    $(this).parents("tr").find("td:eq(2)").html(cardCalc);
    $(this).parents("tr").find("td:eq(4)").html(realCalc);
});
  

скрипка:http://jsfiddle.net/manuel/RzBeM/82 /

Ответ №2:

Самая большая проблема с вашим кодом заключается в том, что у вас все HTML-элементы с одинаковым идентификатором, что неверно. Я обновил его, и вы можете получить последнюю версию здесь:http://jsfiddle.net/RzBeM/92 /

Код становится чем-то вроде:

 $("#amazon5-id-sb5").keyup(function() {
    //card
    var quantity = $(this).val();
    var howMany = parseInt($("#amazon5-id-sb6").val());
    var subTotal = quantity * howMany;
    //real value
    var realValue = parseInt($("#amazon5-id-sb8").val());
    var realTotal = quantity * realValue;

    //assign subTotal to the td0
    $("#amazon5-id-sb7").html(subTotal);
    $("#amazon5-id-sb9").html(realTotal);
});