セルをダブルクリックすると、htmlテキストがエディタで置き換えられるように設定しようとしているブートストラップテーブルがあります。 1つの例外を除いて、この部分はうまくいっています。変更を行った後、ブートストラップテーブルのドキュメントに従って、そのセルのデータ値を適切に更新するために、インデックスを指定する必要があります。このドキュメントでは、dbl-click-cellイベント中に返される行やセルオブジェクトについての詳しい説明が記載されていないため、必要な値を取得する方法がわかりません。私のコードは次のとおりです。ブートストラップテーブルでセルをダブルクリックした後に値を設定する方法
.on('dbl-click-cell.bs.table', function (e, field, value, row, $element) {
EditCellValue(row, $element.closest('td'), row.id, value);
})
これは、セルにエディタを表示する私の関数を呼び出します。 Enterキーを押すと、APIが呼び出され、データベースの値が更新されます。それがあることをやって行うの後は、私が行っていたら、私は、セルの値を設定する必要があります。
function EditCellValue(row, cell, id, value) {
$(cell).html('<input type="text" class="form-control qbedit" placeholder="Enter Vendor Name..." value="' + value + '" />');
$(".qbedit").focus();
$(".qbedit").keyup(function (event) {
if (event.keyCode == 13) {
var vendorname = $(".qbedit").val();
// save the edit
$.ajax({
type: 'PUT',
url: '/api/AccountingAPI/' + id,
cache: false,
dataType: 'json',
data: { "": vendorname }
}).error(function (jqXHR, error, errorThrown) {
alert(errorThrown);
}).done(function (res) {
// row.index is nothing. how do I get it????
$('#mappings-table').bootstrapTable('updateCell', { index: row.index, field: 'qbvendor', value: vendorname });
});
}
else if (event.keyCode == 27) {
// cancel the edit
$(cell).html(value);
}
});
}
のでrow.indexプロパティが何もありません。どこからインデックスを取得するのですか?