Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ajax 通过laravel中的多选下拉列表筛选数据表_Ajax_Laravel - Fatal编程技术网

Ajax 通过laravel中的多选下拉列表筛选数据表

Ajax 通过laravel中的多选下拉列表筛选数据表,ajax,laravel,Ajax,Laravel,我在ajax中有一个select下拉函数,并成功地将数据提取到datatables中。但是,我尝试在ajax函数中添加multiple以获得multiselect函数。然而,它并不奏效。这是我的控制器: public function fnFilter(Request $request) { if(request()->ajax()) { if(!empty($request->dataGender)) { $data = D

我在ajax中有一个select下拉函数,并成功地将数据提取到datatables中。但是,我尝试在ajax函数中添加multiple以获得multiselect函数。然而,它并不奏效。这是我的控制器:

public function fnFilter(Request $request)
{

    if(request()->ajax())
     {
      if(!empty($request->dataGender))
      {
       $data = DB::table('modified_dpprs')
         ->select('id', 'Fn', 'Ln', 'Umur', 'Phone', 'Dob','St', 'Country','Zip','Ct','Jantina')
         ->where('Jantina', $request->dataGender)
         ->where('Bangsa_updated', $request->ethnicity)
         ->get();
      }
      else
      {
       $data = DB::table('modified_dpprs')
         ->select('id', 'Fn', 'Ln', 'Umur', 'Phone', 'Dob','St', 'Country','Zip','Ct','Jantina')
         ->get();
      }
      return datatables()->of($data)->make(true);
     }

    $dataName = DB::table('modified_dpprs')
                    ->select('Age')
                    ->groupBy('Age')
                    ->orderBy('Age', 'ASC')
                    ->get();

    return view('pages.custom', compact('dataName'));   
}
脚本:

<script>
  $(document).ready(function(){

      fill_datatable();

      function fill_datatable(dataAge = '')
      {
          var dataTable = $('#table_data').DataTable({
              processing: true,
              serverSide: true,
              ajax:{
                data:{dataAge:dataAge}
              },
              columns: [
                  {
                      data:'id',
                      name:'id'
                  },
                  {
                      data:'Fn',
                      name:'Fn'
                  },
                  {
                      data:'Ln',
                      name:'Ln'
                  }

              ]


          });
      }
刀片:

<select id="dataAge" class="form-control select2-allow-clear"  style="width:200px;" name="Age" >
                                                                            <option value="">Select</option>
                                                                                @foreach ( $dataName as $item)
                                                                                <option value="{{$item->Age}}">{{$item->Age}}</option>
                                                                                @endforeach
                                                                        </select>
我应该如何从multiselect下拉列表中提取数据到datatable

 $.ajax({
         url:"getDataAge",
         type: "POST",
         data:{_token:csrf_token},
         success:function (result) {
         var options_grp = "";
         options_grp = "<option></option>";
         for(i=0;i<result.length;i++){
             options_grp = options_grp + "<option  value='" +result[i].name+"_"+result[i].id+"'>"+result[i].name+"</option>"
         }
         $(options_grp).appendTo('#dataAge');
       }
     });
     $('#dataAge').select2({placeholder: "Select Legal Category *"})

试试这段代码,在后端获取并相应地更改id的名称,同时根据您的API端点名称更改上面的url。

检查您的ajax,我认为这是错误的,ajax在哪里获取下拉数据。