我有这个小提琴
我的输入类型包含两个按钮+
和-
,我想将输入值添加到表格中的所有单位值。
JQuery看起来像是
$(".commission").TouchSpin({
min: 0,
max: 2,
step: 0.0001,
decimals: 4,
boostat: 5,
maxboostedstep: 10,
buttondown_class: 'btn btn-white',
buttonup_class: 'btn btn-white'
});
$(".commission").on('touchspin.on.startupspin', function() {
var table = $(this).parent().parent().parent().prev().find('table');
console.log(table.rows);
})
以及您可以在小提琴中看到的HTML
答案 0 :(得分:1)
我已使用以下代码更新了您的Fiddle:
$(".commission").on('touchspin.on.stopspin', function() {
var cells = $(this).parent().parent().parent().parent().find('table.cust-tbl td');
for (var i = 0; i < cells.length; i++) {
var $cell = cells.eq(i);
var num = $cell.data('num');
if (num === undefined || num == null) {
num = $cell.text().match(/[\d.]+/);
if (num) {
$cell.data('num', num[0]);
}
}
num = +$cell.data('num');
if (num) {
num += (+$(this).val());
$cell.text($cell.text().replace(/[\d.]+/, num.toFixed(4)));
}
}
});
此代码将原始值存储在单元格的data
属性中,并将值添加到该单元格中。
还将事件更改为stopspin
,以便在选择值(向上或向下)时触发。
将舍入方法添加到4位小数.toFixed(4)
。
答案 1 :(得分:0)
我不知道你正在使用的插件,所以我将把我的函数放在.change()
中,但是将这段代码放在每次输入更改时调用的函数中:
$('body').on('change','.commission',function(){
var $this = $(this);
$('.unit').each(function(){
$(this).text(+$(this).text()+$this.val());
});
});