我想添加多个自定义控件按钮,这样我就可以向这些按钮添加一个自定义单击事件。我遇到的问题是删除按钮只显示出来。我希望编辑和删除按钮都显示在每一行。我有以下代码:
<script> $( document ).ready(function() { $("#jsGrid").jsGrid({ height: "auto", width: "100%", 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 }); }, }, fields: [ { name: "id", title: "id", type: "text", visible: false, width: 100 }, { 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", width: 100, editButton: false, deleteButton: false, itemTemplate: function(value, item) { var $result = jsGrid.fields.control.prototype.itemTemplate.apply(this, arguments); var $customButton = $("<button>").attr({class: "customGridDeletebutton jsgrid-button jsgrid-edit-button"}) .click(function(e) { alert("ID: " + item.id); e.stopPropagation(); }); return $result.add($customButton); }, itemTemplate: function(value, item) { var $result = jsGrid.fields.control.prototype.itemTemplate.apply(this, arguments); var $customButton = $("<button>").attr({class: "customGridEditbutton jsgrid-button jsgrid-delete-button"}) .click(function(e) { alert("Title: " + item.title); e.stopPropagation(); }); return $result.add($customButton); } } ] }); }); </script>
<script> $( document ).ready(function() { $("#jsGrid").jsGrid({ height: "auto", width: "100%", 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 }); }, }, fields: [ { name: "id", title: "id", type: "text", visible: false, width: 100 }, { 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", width: 100, editButton: false, deleteButton: false, itemTemplate: function(value, item) { var $result = jsGrid.fields.control.prototype.itemTemplate.apply(this, arguments); var $customEditButton = $("<button>").attr({class: "customGridEditbutton jsgrid-button jsgrid-edit-button"}) .click(function(e) { alert("ID: " + item.id); e.stopPropagation(); }); var $customDeleteButton = $("<button>").attr({class: "customGridDeletebutton jsgrid-button jsgrid-delete-button"}) .click(function(e) { alert("Title: " + item.title); e.stopPropagation(); }); return $("<div>").append($customEditButton).append($customDeleteButton); //return $result.add($customButton); }, } ] }); }); </script>
{ type: "control", editButton: false, deleteButton: false, itemTemplate: function(value, item) { var $iconPencil = $("<i>").attr({class: "glyphicon glyphicon-pencil"}); var $iconTrash = $("<i>").attr({class: "glyphicon glyphicon-trash"}); var $customEditButton = $("<button>") .attr({class: "btn btn-warning btn-xs"}) .attr({role: "button"}) .attr({title: jsGrid.fields.control.prototype.editButtonTooltip}) .attr({id: "btn-edit-" + item.id}) .click(function(e) { alert("ID: " + item.id); // document.location.href = item.id + "/edit"; e.stopPropagation(); }) .append($iconPencil); var $customDeleteButton = $("<button>") .attr({class: "btn btn-danger btn-xs"}) .attr({role: "button"}) .attr({title: jsGrid.fields.control.prototype.deleteButtonTooltip}) .attr({id: "btn-delete-" + item.id}) .click(function(e) { alert("ID: " + item.id); // document.location.href = item.id + "/delete"; e.stopPropagation(); }) .append($iconTrash); return $("<div>").attr({class: "btn-toolbar"}) .append($customEditButton) .append($customDeleteButton); } }
jsgrid多个自定义控件按钮?-腾讯云开发者社区-腾讯云 (tencent.com)
标签:控件,attr,自定义,title,item,width,type,id,jsgrid From: https://www.cnblogs.com/roak/p/17982528