Может ли кто-нибудь помочь мне выяснить, что не так с моим кодом?
Я пытаюсь выполнить поиск в 2 формах, используя AJAX
вот мой код
Blade
$(document).ready(function(){
load_data();
function load_data(orderno = '', jobno= '')
{
$.ajax({
url:"{{ route('live_search.action') }}",
method:'GET',
data:{orderno:orderno,jobno:jobno},
dataType:'json',
success:function(data)
{
$('tbody').html(data.table_data);
$('#total_records').text(data.total_data);
}
})
}
$(document).on('keyup', '#search', function(){
var orderno = $(this).val();
var jobno = $(this).val();
load_data(orderno,jobno);
});
$(document).on('keyup', '#searchkanban', function(){
var orderno = $(this).val();
var jobno = $(this).val();
load_data(orderno,jobno);
});
});
</script>
и это мой контроллер
{
if($request->ajax())
{
$output = '';
$query = $request->get('orderno');
$query2 = $request->get('jobno');
if($query != '' && $query2 == '')
{
$data = DB::table('scankanban')
->where('sk_orderNo', 'like', '%'.$query.'%')
->orderBy('id', 'asc')
->get();
}
else if($query != '' && $query2 != '')
{
$data = DB::table('scankanban')
->where('sk_orderNo', 'like', '%'.$query.'%')
->Where('sk_jobNo', 'like', '%'.$query2.'%')
->orderBy('id', 'asc')
->get();
}
else // get all if not found
{
$data = DB::table('scankanban')
->orderBy('id', 'asc')
->get();
}
$total_row = $data->count();
if($total_row > 0)
{
foreach($data as $row)
{
$output .= '
<tr>
<td>'.$row->sk_orderNo.'</td>
<td>'.$row->sk_jobNo.'</td>
<td>'.$row->sk_orderKanban.'</td>
<td>'.$row->sk_scanID.'</td>
<td>'.$row->sk_status.'</td>
</tr>
';
}
}
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);
}
}
- Я могу получить все данные, это означает, что код
else
работает - Когда я введите форму #search, я могу получить поиск по запросу.
- Когда я набрал форму #search и form # search kanban, результатом была пустая таблица, например, не найденная. Иногда получаются данные, но неверные данные. Я обновил этот код с https://www.webslesson.info/2018/04/live-search-in-laravel-using-ajax.html. Раньше я использовал только одну форму поиска, теперь я хочу использовать две формы поиска.
Заранее спасибо