javascript - 在 laravel 中搜索自动完成 ajax
问题描述
我正在使用 ajax 进行实时搜索,但问题是它只显示一个结果
当我使用 .html() 但当我使用 append() 时,它可以工作,但是我写的每个单词都是为了复制结果,
这是我的代码:
在控制器中,
$patient = Patient::select('id', 'avatar')
->where('phone_number', 'like', '%' . $search_query . '%')
->orWhere('first_name', 'like', '%' . $search_query . '%')
->limit(15)
->get();
return $patient;
刀片中的ajax代码
$("#search-eng").keyup(function() {
let search_query = $(this).val();
if (search_query != "") {
$.ajax({
url: '{{ url('/appointment/calander_patient_search') }}/' +
search_query,
type: "GET",
dataType: "json",
success: function(data) {
$("#search-eng-show-list").show();
if (data !== "") {
$.each(data, function(key, value) {
$('#search-eng-show-list').html(
'<a data-id="' + value.id + '"' value.second_name + '</a>');
});
}
if (data == "") {
$('#search-eng-show-list').html(
'<a><i "></i>No Record</a>'
);
}
},
});
} else {
$("#search-eng-show-list").empty();
$("#search-eng-show-list").hide();;
}
});
解决方案
是的,您在循环语句中设置了内容,因此它只会采用最后一个内容。
您可以使用一些缓冲区变量:
if (data !== "") {
var html = '';
$.each(data, function(key, value) {
html += '<a data-id="' + value.id + '"' value.second_name + '</a>');
}
$('#search-eng-show-list').html(html);
// ....
推荐阅读
- java - Java:带有类型参数的泛型类型?
- flutter - 颤振溢出定位按钮不可点击
- ruby - rbenv 在哪里安装 ruby?
- openlayers - OpenLayers 4.0 将 World Ocean Base MapArcGIS 重新投影到 EPSG 3408
- c++ - Conan boost 1.71.0 缺少依赖项
- sql - sqlite在json中整理nocase搜索
- c++ - 写一个动态数组
- python - Python没有在解释器选择中显示现有的venv
- c# - 一段时间后,EF 在表中插入值失败
- ios - 过滤后的 SwiftUI CoreData 列表中的 Sum 属性