我有这段代码,在第二部分中有jQuery.each()
循环,我得到了对象id
:
$(document).ready(function() {
editor = new $.fn.dataTable.Editor( {
table: "#user_groups_table",
template: '#user_groups_form',
display: "details",
idSrc: "id",
ajax: {
edit: {
type: 'PATCH',
url: '/strongbolt/user_groups/' // Here I need to add object id
}
},
fields: [ {
name: "name"
}, {
name: "description"
}
]
} );
// Here we modify params before they are sent to server
editor.on( 'preSubmit', function ( e, data, action ) {
if ( action === 'create' ) {
// create action code...
} else if ( action === 'edit' ) {
$.each( data.data, function (id, value) {
data.strongbolt_user_group = {
"name": data.data[id].name,
"description": data.data[id].description,
};
});
delete data.data;
}
} );
如何传递该对象id
,以便我可以使用edit
操作网址:url: '/strongbolt/user_groups/' + id
?谢谢!
更新
data.data
给了我这样的参数,其中[90]是id
:
action edit
data[90][name] My_test_group_name
data[90][description] My_test_description
更新2
我可以选择将以下代码中的rowId
变量传递到上面的edit
操作网址吗?
else if ( action === 'edit' ) {
$.each( data.data, function (id, value) {
var rowId = id;
console.log(rowId);
data.strongbolt_user_group = {
"name": data.data[rowId].name,
"description": data.data[rowId].description,
};
});
delete data.data;
}
解决方案
我很遗憾地说,但解决方案很简单 - 我必须按照Editor Datatables docs中的建议传递网址。