Javascript 选择下一个输入类型字段Jquery 项目* 价格* 数量* 全部的 添加项 函数计算(){ var价格=$(“.price”).val(); 变量数量=$(“.qty”).val(); var aa=$(this.next().find('div>.totalforone').val(); 控制台日志(aa); }; 美元(“.price”).bind('keyup mouseup',计算); $(“.qty”).bind('keyup mouseup',计算);

Javascript 选择下一个输入类型字段Jquery 项目* 价格* 数量* 全部的 添加项 函数计算(){ var价格=$(“.price”).val(); 变量数量=$(“.qty”).val(); var aa=$(this.next().find('div>.totalforone').val(); 控制台日志(aa); }; 美元(“.price”).bind('keyup mouseup',计算); $(“.qty”).bind('keyup mouseup',计算);,javascript,jquery,Javascript,Jquery,我有这些行用于乘以价格和数量eah行手动输入价格和数量,并在输入类型total中输入总计。 要设置价格x数量=每行总计。我可以选择添加更多行您必须将此传递给函数,以便您可以在函数中引用它。然后,您可以使用.itemrow将最近的行作为目标,以找到相关的.totalforone来设置计算值。此外,最好使用input事件,而不是keyup和mouseup: 函数计算(el){ var价格=$(“.price”).val(); 变量数量=$(“.qty”).val(); $(el).最近('.ite

我有这些行用于乘以价格和数量eah行手动输入价格和数量,并在输入类型total中输入总计。
要设置价格x数量=每行总计。我可以选择添加更多行

您必须将此传递给函数,以便您可以在函数中引用它。然后,您可以使用.itemrow将最近的行作为目标,以找到相关的.totalforone来设置计算值。此外,最好使用
input
事件,而不是
keyup
mouseup

函数计算(el){
var价格=$(“.price”).val();
变量数量=$(“.qty”).val();
$(el).最近('.itemrow').find('.totalforone').val(价格*数量);
};
$('body').on('input','price',function(){calculation(this)});
$('body').on('input','qty',function(){calculation(this)})

项目*
价格*
数量*
全部的
添加项

您必须将
传递给函数,以便在函数中引用。然后,您可以使用.itemrow将最近的行作为目标,以找到相关的.totalforone来设置计算值。此外,最好使用
input
事件,而不是
keyup
mouseup

函数计算(el){
var价格=$(“.price”).val();
变量数量=$(“.qty”).val();
$(el).最近('.itemrow').find('.totalforone').val(价格*数量);
};
$('body').on('input','price',function(){calculation(this)});
$('body').on('input','qty',function(){calculation(this)})

项目*
价格*
数量*
全部的
添加项

我无法理解您的问题,您想要的结果是什么?你能再解释一下吗?我不能理解你的问题,你想要什么结果?你能再解释一下吗?它工作得很好,但当我点击“添加项目”时,它复制了所有输入项目、价格、数量和总数。因此,重复行中的函数不起作用。你能再帮我一点吗。我在文档页面准备中使用了复制功能<代码>$(“.add more”)。单击(函数(){var html=$(“.copy”).html();$(“.newRowHere”)。在(html)之前;var countrow=$(“form.itemrow”).length;console.log(“总行数-->”+countrow);})
@AbdullahBhatti,在这种情况下,您必须使用委托方法,我已经更新了答案,请检查:)
函数计算(el){var price=$(el).最近('.itemrow').find('.price”).val();var qty=$(el).最近('.itemrow').find('.totalforone').val(price*qty);$(el)$('body').on('input','price',function(){calculation(this)})$('body').on('input','qty',function(){calculation(this)})谢谢,马蒙解决了!只需对给定函数进行一些更改。您的回答非常有用,非常感谢。它非常有效,但当我单击“添加项目”时,它会复制所有输入项目、价格、数量和总数。因此,重复行中的函数不起作用。你能再帮我一点吗。我在文档页面准备中使用了复制功能<代码>$(“.add more”)。单击(函数(){var html=$(“.copy”).html();$(“.newRowHere”)。在(html)之前;var countrow=$(“form.itemrow”).length;console.log(“总行数-->”+countrow);})
@AbdullahBhatti,在这种情况下,您必须使用委托方法,我已经更新了答案,请检查:)
函数计算(el){var price=$(el).最近('.itemrow').find('.price”).val();var qty=$(el).最近('.itemrow').find('.totalforone').val(price*qty);$(el)$('body').on('input','price',function(){calculation(this)})$('body').on('input','qty',function(){calculation(this)})谢谢,马蒙解决了!只需对给定函数进行一些更改。你的回答很有帮助,非常感谢。
<div class="form-row itemrow">
    <div class="col-md-4">
        <label for="item">Item <span style="color:#ef172c;"> *</span></label>
        <input name="item" type="text" data-parsley-trigger="blur" required  class="form-control item" />
    </div>

    <div class="col-md-2">
        <label for="price">Price <span style="color:#ef172c;"> *</span></label>
        <input  name="price" type="number" data-parsley-trigger="blur" required  class="form-control price" />
    </div>

    <div class="col-md-2">
        <label for="qty">Qty <span style="color:#ef172c;"> *</span></label>
        <input  value="1" name="qty" type="number" data-parsley-trigger="blur" required  class="form-control qty" />
    </div>

    <div class="col-md-2">
        <label for="totalforone">Total</label>
        <input name="totalforone" value="100" type="number" data-parsley-trigger="blur"  class="form-control totalforone" />
    </div>

    <div class="col-md-2">
        <button id="addmore" style="height: 34px; margin-top: 2em;" class="btn btn-sm btn-success add-more btn-block" type="button"><i class="glyphicon glyphicon-plus"></i> Add Item</button>
    </div>
</div>

function calculation(){
    var price = $(".price").val();  
    var qty = $(".qty").val();  
    var aa = $(this).next().find('div > .totalforone').val();
    console.log(aa);
};

$(".price").bind('keyup mouseup', calculation);
$(".qty").bind('keyup mouseup', calculation);