Laravel - Поиск с использованием Ajax, Автоматический поиск при открытой странице - PullRequest
0 голосов
/ 01 февраля 2019

Как я могу автоматически искать данные, когда я помещаю значение в свое текстовое поле, скажем, значение является фиксированным.как это <input type="text" name="search" id="search" class="form-control" value="10310" />

значение там 10310, и когда я открываю страницу, я хочу автоматически искать это значение.Прямо сейчас у моего поиска есть ajax, и он работает хорошо.но моя проблема в том, что я не могу автоматически искать значение при открытии страницы, помещая значение в мое текстовое поле.

Ожидаемый вывод - Я хочу автоматически искать данные, которые есть в моем текстовом поле.

Просмотр

            <input type="text" name="search" id="search" class="form-control" value="10310" />



    <div id="divContent">

    </div>    

вот мой Ajax-скрипт

<script type="text/javascript">

    $(document).ready(function(){

    fetch_customer_data();

    function fetch_customer_data(query = '')
    {
    $.ajax({
    url:"{{ route('admin.employeemaintenance.actualTime.actionActualTime') }}",
    method:'GET',
    data:{query:query},
    dataType:'json',
    success:function(data)
    {
    $('#divContent').html(data.table_data);
    $('#total_records').text(data.total_data);
    }
    })
    }

    $(document).on('keyup', '#search', function(){
    var query = $(this).val();
    fetch_customer_data(query);
    });
    });

</script>

мой контроллер

 function actionActualTime(Request $request)
{
 if($request->ajax())
 {
  $output = '';
  $query = $request->get('query');
  if($query != '')
  {
   $data = DB::table('employeefms')
     ->where('last_name', 'like', '%'.$query.'%')
     ->orWhere('first_name', 'like', '%'.$query.'%')
     ->orWhere('employee_no', 'like', '%'.$query.'%')
     ->get();

  }
  else
  {
   $data = DB::table('employeefms')
     ->orderBy('last_name', 'desc')
     ->get();
  }
  $total_row = $data->count();
  if($total_row > 0)
  {
   foreach($data as $row)
   {

    $output .= '
    <div class="container">
     <img height="50px" width="60px" src="/storage/employee_photos/'.$row->employee_photo.'" /><span class="d-none">'.$row->employee_photo.'</span><br><br>
     <p><b>Employee No: </b></p><input type="text" class="form-control col-md-2" value='.$row->employee_no.'></input><br>
     <p><b>Name: </b></p><input type="text" class="form-control col-md-3" value='.$row->last_name.'></input><br><hr>
     </div>
    ';
   }
  }
  else
  {
   $output = '
   <tr>
    <td align="center" colspan="5">No Data Found</td>
   </tr>
   ';
  }
  $data = array(
   'table_data'  => $output,
   'total_data'  => $total_row
  );

  echo json_encode($data);
 }


}

1 Ответ

0 голосов
/ 01 февраля 2019

Когда страница загружается query не определено.Попробуйте следующее:

<script type="text/javascript">

    $(document).ready(function(){

      var query = $('#search').val();
      fetch_customer_data(query);

      $(document).on('keyup', '#search', function(){
        var query = $(this).val();
        fetch_customer_data(query);
      });

      function fetch_customer_data(query = '') {
        $.ajax({
          url:"{{ route('admin.employeemaintenance.actualTime.actionActualTime') }}",
          method:'GET',
          data:{query:query},
          dataType:'json',
          success:function(data) {
            $('#divContent').html(data.table_data);
            $('#total_records').text(data.total_data);
          }
        })
      }

    });

</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...