Après une longue recherche, il n'a finalement pas été effacé. J'ai trouvé l'exemple suivant en ligne. Après avoir expérimenté, j'ai découvert que la valeur du tableau avait été mise à jour, mais que la valeur d'entrée de la page avait été effacée.
Après amélioration, cela se présente comme suit :
1. Page .bootstrapTable
columns: [{
....,
{
field: 'remarks',
title: '备注',
sortable: true,
sortName: 'remarks',
formatter:formInput
}
Méthode 2.js
// 拼接input receiveCount字段前端添加的,一定要有value,否则updateRow数据页面上会被清空
function formInput(value, row, index) {
return '<input type="text" autocomplete="off" name="remarks" onblur="changeData(' + index + ',this);" placeholder="可编辑数量" value="'
+ (function () {
return !row.remarks ? '' : row.remarks
})()
+ '">'
}
function changeData(index, obj) {
var value = $(obj).val();
var name = $(obj).attr('name');
//通过 index 获取指定的行
var row = $('#deviceStateOrderDetail').bootstrapTable('getRowByIndex',index);//行的数据
//将 input 的值存进 row 中
row[name] = value;
console.log(row);
//更新指定的行,调用 'updateRow' 则会将 row 数据更新到 data 中,然后再重新加载
$("#deviceStateOrderDetail").bootstrapTable('updateRow',{index: index, row: row});
}
3. Vous avez terminé