0

我想将 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>
4

1 回答 1

2

我使用一个弹出窗口,一个 jQuery 对话框,但你也可以使用其他等效的东西,比如引导对话框。

我将编辑绑定到单击一行,我的代码类似于:

$("#jsGrid").jsGrid({
    ...
    rowClick: function(args) {
        showDialog(args.item);
    },
    ...
 );  

showDialog是启动弹出窗口的功能。所选行在 中可用args.item

然后,在showDialog函数中,当用户保存时,我使用以下命令触发 jsGrid 的更新方法,该方法也会刷新网格中受影响的行:

$("#jsGrid").jsGrid("updateItem", updatedItem);

希望这可以帮助。

于 2017-04-26T03:27:29.420 回答