微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 jquery 中为数据表中的动态数据运行 foreach 循环并重定向到 Laravel 中的详细信息页面

如何解决如何在 jquery 中为数据表中的动态数据运行 foreach 循环并重定向到 Laravel 中的详细信息页面

我正在使用 yajra dataable 使用 ajax 和 jquery 从数据库动态获取所有数据。我有名为“Membersid”、“Role”等的列……现在我想要做的是对于“Membersid”中的每个值,应该有一个链接应该重定向到该特定 memberid 的详细信息页面。 这是我的路线:

Route::resource('/Memberdetails',MemberdetailController::class);

这就是我当前脚本的样子..不确定这是否正确:

$('#members_data').on('click','tbody td',function(){
   window.location = $(this).closest('tr').find('td:eq(0) a').attr('{{ route('Membersdetails.show') }}');

谁能帮我把这个重定向到特定memberid的详细信息页面

她是我的控制器代码

<?PHP

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use DB;
use App\Models\Memberdetails;
use App\Models\Attrition_correlators;

class CustomSearchController extends Controller
{
    function index(Request $request)
    {
        if(request()->ajax())
        {
            if(!empty($request->Business_unit))
            {
                $data = DB::table('memberdetails')
                        ->select('membersid','Role','Region','Orglevel1','Orglevel2','Riskzone','Probablity')
                        ->where('Business_unit',$request->Business_unit)
                        ->where('Orglevel1',$request->Orglevel1)
                        ->where('Role',$request->Role)
                        ->get();
            }
            else
            {
                $data = DB:: table('memberdetails')
                        ->select('membersid','Probablity')
                        ->get();
            }
            return datatables()->of($data)->make(true);
        }

        $Business_unit_name = DB::table('memberdetails')
                            ->select('Business_unit')
                            ->groupBy('Business_unit')
                            ->orderBy('Business_unit','ASC')
                            ->get();
        $Orglevel1_name = DB::table('memberdetails')
                            ->select('Orglevel1')
                            ->groupBy('Orglevel1')
                            ->orderBy('Orglevel1','ASC')
                            ->get();
        $Role_name = DB::table('memberdetails')
                            ->select('Role')
                            ->groupBy('Role')
                            ->orderBy('Role','ASC')
                            ->get();
        $Memberdetails= new Memberdetails;
        $Memberdetails_list= $Memberdetails::all();
        return view('admin.members.test',compact('Business_unit_name','Orglevel1_name','Role_name','Memberdetails_list'));
    }

     public function show(Memberdetails $Memberdetail)
    {
        $Attrition_correlator = Attrition_correlators::all();
        return view('admin.members.Detailspage',compact('Memberdetail','Attrition_correlator'));
    }
}

这是我的观点

@extends('layouts.admin')
@section('content')
<br/>
<div class="content">
 <div class="row">
    <div class="col">
        <div class="form-group">
            <select name="Business_unit" id="Business_unit" class="form-control">
                <option value="">Business Unit</option>
                @foreach($Business_unit_name as $Bu)
                <option value="{{ $Bu->Business_unit }}">{{ $Bu->Business_unit}}</option>
                @endforeach
            </select>           
        </div>
    </div>
    <div class="col">
        <div class="form-group">
            <select name="Orglevel1" id="Orglevel1" class="form-control">
                <option value="">Orglevel1</option>
                @foreach($Orglevel1_name as $org1)
                <option value="{{ $org1->Orglevel1 }}">{{ $org1->Orglevel1 }}</option>
                @endforeach
            </select>           
        </div>
    </div>
    <div class="col">
        <div class="form-group">
            <select name="Role" id="Role" class="form-control">
                <option value="">Role</option>
                @foreach($Role_name as $Role)
                <option value="{{ $Role->Role }}">{{ $Role->Role }}</option>
                @endforeach
            </select>           
        </div>
    </div>
    <div class="col">
        <div class="form-group">
          <button class="btn btn-primary rounded" type="button" id="search" name="search">Apply</button>
        </div>
    </div>
    <div class="col">
        <div class="form-group">
          <button class="btn btn-primary rounded" type="button" id="reset" name="reset">Reset</button>
        </div>
    </div>
 </div>
  <div class="table-responsive">
    <table id="members_data" class="table table-bordered table-striped">
        <thead>
          <tr>
                <th style="width: 10%">
                    Employee ID
                </th>
                <th style="width: 10%">
                    Role
                </th>
                <th style="width: 10%">
                    Region
                </th>
                <th style="width: 12%">
                  Org Level1
                </th>
                <th style="width: 12%">
                   Org Level2
                </th>
                <th style="width: 12%">
                   Riskzone
                </th>
                <th style="width: 12%">
                   Probablity
                </th>
            </tr>
        </thead>
    </table>
  </div>
</div>
 <script>
$(document).ready(function(){

    fill_datatable();

    function fill_datatable(Business_unit = '',Orglevel1 = '',Role = '')
    {
        var dataTable = $('#members_data').DataTable({
            processing: true,serverSide: true,ajax:{
                url: "{{ route('test.index') }}",data:{Business_unit:Business_unit,Orglevel1:Orglevel1,Role:Role}
            },columns: [
                {
                    data: 'membersid',name: 'membersid'
                },{
                    data:'Role',name:'Role'
                },{
                    data:'Region',name:'Region'
                },{
                    data:'Orglevel1',name:'Orglevel1'
                },{
                    data:'Orglevel2',name:'Orglevel2'
                },{
                    data:'Riskzone',name:'Riskzone'
                },{
                    data:'Probablity',name:'Probablity'
                }
            ]
        });
    }

    $('#search').click(function(){
        var Business_unit = $('#Business_unit').val();
        var Role = $('#Role').val();
        var Orglevel1 = $('#Orglevel1').val();

        if(Business_unit != '' && Orglevel1 != '' && Role != '')
        {
            $('#members_data').DataTable().destroy();
            fill_datatable(Business_unit,Orglevel1,Role);
        }
        else
        {
            alert('Select filter option');
        }
    });

    $('#reset').click(function(){
        $('#Business_unit').val('');
        $('#Role').val('');
        $('#Orglevel1').val('');
        $('#members_data').DataTable().destroy();
        fill_datatable();
    });
    $("#members_data tbody tr").each(function() {
        alert($(this).find("td:first-child").html());
    });
    $('#members_data').on('click',function(){
   window.location = $(this).closest('tr').find('td:eq(0) a').attr('href');
});

});
</script>

 @endsection

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。