laravel - 包含@extends('layouts.app')时,laravel8输入预输入自动完成功能将不起作用
问题描述
我一直在想办法完成这项工作,但没有运气。我想使用预先输入的自动完成功能。
我的 app.blade 上的主要脚本
<!-- Scripts -->
<script src="{{ asset('js/app.js') }}" defer></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.3/css/bootstrap.min.css" />
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-3-typeahead/4.0.1/bootstrap3-typeahead.min.js"></script>
<!-- import JavaScript -->
<script src="https://unpkg.com/element-ui/lib/index.js"></script>
{{-- <script src="https://unpkg.com/element-plus/lib/index.full.js"></script>--}}
然后我的搜索刀片上有这个脚本
@extends('layouts.app')
@section('content')
<input class="typeahead form-control" name="query" type="search" placeholder="search" autocomplete="off"> </input>
<script type="text/javascript">
var path = "{{ route('autocomplete') }}";
$('input.typeahead').typeahead({
source: function (query, process) {
return $.get(path, { query: query }, function (data) {
return process(data);
});
}
});
</script>
@endsection
然后是我的搜索控制器
public function autocomplete(Request $request)
{
$search_text = $request->input('query');
$data = Skills::select("name")
->where("name","LIKE","%{$search_text}%")
->get();
return response()->json($data);
}
所有这些都是根据教程完成的,只有当我删除 @extends('layouts.app') 行或删除 app.blade 文件中的“延迟”时,它才有效。
但是当我这样做时,我所有的样式布局都变得一团糟。并且有没有删除现有代码的解决方案。因为所有现有的代码都很重要。
解决方案
在脚本中试试这个
$('input.typeahead:search').typeahead({
推荐阅读
- linux - 导出文件的每一行(最后一行除外)以使用 AWK 为每一行创建一个新文件
- c# - WPF 自定义 ContentPresenter 不绑定属性
- flutter - 在firebase注销时,方法'findAncestorStateOfType'被调用为null
- asp.net - 是否可以基于域 URL 与 Razor Pages 使用相同的路径进行动态路由
- java - 如何使用动态电子邮件生成测试电子邮件验证流程并自动获取电子邮件数据?
- uno-platform - 使用 AOT 构建时排除程序集
- latex - Doxygen 无法解析源文件中的结构文档
- python - 创建图像大小调整功能时,“str”对象没有属性“复制”错误
- reactjs - 制作内联条件所需的reactjs输入元素
- react-native - React Native - 在函数中使用 sa 状态