function sum(){
var a = $('').val();
var b = $('').val();
var sum= a * b;
$('#total').val(sum);
}
<td> <input id="purchaseOrdersChildList{{idx}}_number" name="purchaseOrdersChildList[{{idx}}].number" type="text" value="{{row.number}}" class="form-control " onchange="sum()"/>
</td>
函数中的参数应该怎么写
传入参数:
function sum(obj) {
var a = $(obj).val();
console.log(a);
}
<td><input id="purchaseOrdersChildList{{idx}}_number" name="purchaseOrdersChildList[{{idx}}].number" type="text" value="{{row.number}}" class="form-control " onchange="sum(this)"/> <!-- 参数传入this -->
</td>
请问具体填什么参数。这个是list input的id不是应该每条数据都在变么
@琦琳不渡人: 如果有10条数据,就会生成10个 input,因此要得到10个 input 的值,是这样吗
@三人乐乐: 是的。我这个是jeeplus框架。只要我在前端新增数据 他会自己帮我生成。就是存在一个list里
@琦琳不渡人: 生成之后,是什么样子,你贴一段生成后的 input 代码给我,我看看多个input是怎样显示的
@三人乐乐:
@三人乐乐: 不需要我写td 我页面点新增 他就自己帮我生成出来一条了
@琦琳不渡人: 写了例子,只能算实现,你自己优化:
function sum(obj) {
var text = $(obj)[0].id;
var index;
if (text.indexOf('number') >= 0) {
index = text.replace('purchaseOrdersChildList', '').replace('_number', '');
var priceId = 'purchaseOrdersChildList' + index + '_price';
var totalId = 'purchaseOrdersChildList' + index + '_total';
var a = $(obj).val();
var b = $('#' + priceId).val();
var sum = a * b;
$('#' + totalId).val(sum);
}
else if (text.indexOf('price') >= 0) {
index = text.replace('purchaseOrdersChildList', '').replace('_price', '');
var numberId = 'purchaseOrdersChildList' + index + '_number';
var totalId = 'purchaseOrdersChildList' + index + '_total';
var a = $('#' + numberId).val();
var b = $(obj).val();
var sum = a * b;
$('#' + totalId).val(sum);
}
}
<input id="purchaseOrdersChildList0_number" type="text" value="2" class="form-control" onchange="sum(this)" />
<input id="purchaseOrdersChildList0_price" type="text" value="30" class="form-control" onchange="sum(this)" />
<input id="purchaseOrdersChildList0_total" type="text" class="form-control" />
@三人乐乐: 谢谢大佬