如何将 crud 表中的行值传递给自定义提交按钮
Posted
技术标签:
【中文标题】如何将 crud 表中的行值传递给自定义提交按钮【英文标题】:How do I pass the value of the rows from the crud table to the custom submit button 【发布时间】:2020-04-02 05:38:11 【问题描述】:这是我已经实现并从另一个 crud 控制器获取数据的选项卡
我尝试使用批量操作来选择行并将行的值传递给自定义按钮 但是我做不到
我也尝试过使用 j 查询,但效果不佳
$(document).ready(function ()
// var table = $('#crudtable').DataTable(
// 'data': userData,
// 'columnDefs': [
// 'targets': 0,
// 'searchable':false,
// 'orderable':false,
// 'className': 'dt-body-center',
// );
// $('.crud_bulk_actions_row_checkbox').on('click', function()
// // Check/uncheck all checkboxes in the table
// var rows = table.rows( 'search': 'applied' ).nodes();
// $('.crud_bulk_actions_row_checkbox', rows).prop('checked', this.checked);
// );
// $('#crudtable tbody').on('change', ''.crud_bulk_actions_row_checkbox', function()
// // If checkbox is not checked
// if(!this.checked)
// var el = $('#example-select-all').get(0);
// if(el && el.checked && ('indeterminate' in el))
// el.indeterminate = true;
//
//
// );
// $('#crudtable').on('#button3', function(e)
// var form = this;
// // Iterate over all checkboxes in the table
// table.$('.crud_bulk_actions_row_checkbox').each(function()
// // If checkbox doesn't exist in DOM
// if(!$.contains(document, this))
// // If checkbox is checked
// if(this.checked)
// // Create a hidden element
// $(form).append(
// $('<input>')
// .attr('name', this.name)
// .val(this.value)
// );
//
//
// );
// );
// ";
【问题讨论】:
可以分享控制器类吗?并解释清楚你想做什么? 【参考方案1】:要了解自定义按钮在 Backpack 中的工作原理,请查看 button docs。
如果您要创建一个批量按钮(您可以在其中选择多行并对所有行执行操作),我建议您从 "bulk clone" button code 开始您的按钮 - 这是一个简单批量按钮的一个很好的例子,只是一个确认对话框和一个 AJAX 调用。
您的自定义按钮必须遵循背包批量按钮的结构:
@if ($crud->hasAccess('bulkClone') && $crud->get('list.bulkActions'))
<a href="javascript:void(0)" onclick="bulkCloneEntries(this)" class="btn btn-sm btn-secondary bulk-button"><i class="fa fa-clone"></i> Clone</a>
@endif
@push('after_scripts')
<script>
if (typeof bulkCloneEntries != 'function')
function bulkCloneEntries(button)
if (typeof crud.checkedItems === 'undefined' || crud.checkedItems.length == 0)
alert('No items selected'); return;
// your logic here
</script>
@endpush
注意:
按钮调用自定义函数onClick
;
该函数被推送到“after_scripts”刀片部分;
【讨论】:
非常感谢@tabacitu以上是关于如何将 crud 表中的行值传递给自定义提交按钮的主要内容,如果未能解决你的问题,请参考以下文章