【发布时间】:2016-11-07 08:07:14
【问题描述】:
我有这样的标记:
<div class="margin-bottom-sm col-sm-2">
<input type="text" class="form-control" name="txtketdetail[]" id="txtketdetail" placeholder="Nama detail akun" required />
</div>
<div class="margin-bottom-sm col-sm-2">
<input type="text" class="form-control input-number" name="txtvolume[]" id="txtvolume" placeholder="Volume/Jumlah" required />
</div>
<div class="margin-bottom-sm col-sm-2">
<input type="text" class="form-control input-number" name="txthrgsatuan[]" id="txthrgsatuan" placeholder="Harga satuan" required />
</div>
<div class="margin-bottom-sm col-sm-2">
<input type="text" class="form-control input-number" name="txtjmlbiaya[]" id="txtjmlbiaya" placeholder="Jumlah biaya" required />
</div>
$('input[id^="txthrgsatuan"]').on('change', function() {
$('input[id^="txthrgsatuan"]').each(function() {
$(this).parent().next().children().val($(this).val()*$(this).parent().prev().children().val());
});
});
我想将txthrgsatuan 与txtvolume 相乘,并让最终结果出现在txtjmlbiaya 事件触发器更改txthrgsatuan 中。但是,当我添加另一个具有相同 name 和 id 的输入时会出现问题。更多详情请看下图。
【问题讨论】:
-
请将您当前的代码添加到问题中
-
页面上不能有多个具有相同 id 的元素,就是不能。
-
@Imaginaroom:我为新输入生成了 id。另一个输入有 id txthrgsatuan2, txthrgsatuan3, txthrgsatuan..N
-
@RoryMcCrossan:这是我使用的当前代码 $('input[id^="txthrgsatuan"]').on('change', function() { $('input[id^= "txthrgsatuan"]').each(function() { $(this).parent().next().children().val($(this).val()*$(this).parent()。 prev().children().val()); }); });
-
在添加新行时使用类和索引而不是 ids,以了解正在更改的输入的行,然后在同一行中更改结果
标签: jquery multiplication