【发布时间】:2020-10-08 07:10:17
【问题描述】:
谁能帮我找出我的代码出了什么问题?
我正在尝试使用 AJAX 搜索 2 种形式
这是我的代码
刀片
$(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 和表单#searchkanban 时,结果是空表,就像找不到一样。有时得到数据但错误的数据。我从https://www.webslesson.info/2018/04/live-search-in-laravel-using-ajax.html 更新了这段代码。之前只使用 1 个搜索表单,现在我想使用 2 个搜索表单。
提前致谢
【问题讨论】:
-
orderno和jobno都来自$(this).val()。我认为你在这里犯了一个错误。 -
天哪,谢谢你救了我@bravemaster。我用#formname 更改
$(this).val()。
标签: javascript php jquery ajax laravel-5