【问题标题】:How do I pass the value of the rows from the crud table to the custom submit button如何将 crud 表中的行值传递给自定义提交按钮
【发布时间】: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)
    //                );
    //             }
    //          } 
    //       });



    // });
    // ";

【问题讨论】:

  • 可以分享控制器类吗?并解释清楚你想做什么?

标签: jquery laravel-5 checkbox datatables laravel-backpack


【解决方案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
猜你喜欢
  • 2012-09-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-23
  • 1970-01-01
  • 1970-01-01
  • 2019-03-11
  • 1970-01-01
相关资源
最近更新 更多