jsgrid: добавить загрузку страницы к кнопке редактирования?
Я хотел бы изменить встроенную функциональность кнопки редактирования jsgrid из встроенного редактора на открытие другой страницы для редактирования. Я не совсем уверен, как это сделать. Любые идеи, как я могу добиться замены кнопки редактирования по умолчанию для загрузки страницы? Это вообще возможно? Пока что у меня есть:
код:
<script>
$( document ).ready(function() {
$("#jsGrid").jsGrid({
height: "398px",
width: "100%",
inserting: true,
editing: true,
sorting: true,
paging: true,
autoload: true,
pageSize: 10,
pageButtonCount: 5,
deleteConfirm: "Do you really want to delete your job listing?",
controller: {
loadData: function(filter) {
return $.ajax({
type: "GET",
url: "<?php echo site_url('/job/getjobs/'.$this->session->employer_id); ?>",
data: filter
});
},
insertItem: function(item) {
return $.ajax({
type: "POST",
url: "/clients/",
data: item
});
},
updateItem: function(item) {
return $.ajax({
type: "PUT",
url: "/clients/",
data: item
});
},
deleteItem: function(item) {
return $.ajax({
type: "DELETE",
url: "/clients/",
data: item
});
}
},
fields: [
{ name: "title", title: "Title", type: "text", width: 100 },
{ name: "created_on", title: "Created On", type: "text", width: 100 },
{ name: "salary", title: "Salary", type: "text", width: 100 },
{ name: "is_active", type: "text", title: "Is Active", width: 100 },
{ type: "control" }
]
});
});
</script>
1 ответ
Я использую всплывающее окно, диалоговое окно jQuery, но вы также можете использовать что-то еще эквивалентное, например, диалог начальной загрузки.
Я привязал правку к щелчку строки, и мой код выглядит примерно так:
$("#jsGrid").jsGrid({
...
rowClick: function(args) {
showDialog(args.item);
},
...
);
showDialog
это функция для запуска всплывающего окна. Выбранная строка становится доступной в args.item
,
Затем в showDialog
После сохранения пользователь использует следующую функцию, чтобы вызвать метод обновления jsGrid, который также обновит затронутую строку в сетке:
$("#jsGrid").jsGrid("updateItem", updatedItem);
Надеюсь это поможет.