如何解决如何在 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') }}');
她是我的控制器代码:
<?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 举报,一经查实,本站将立刻删除。