胡子哥哥
2023-08-05 11:03:29
我正在使用 Python Flask 開(kāi)發(fā)一個(gè) Web 應(yīng)用程序。我需要一個(gè) jQuery 腳本來(lái)創(chuàng)建自動(dòng)完成搜索字段。我找到了這個(gè):https://github.com/LukasSliacky/Flask-Autocomplete它工作得很好。當(dāng)我嘗試將此功能集成到包含許多其他 CSS 和 JS 腳本的現(xiàn)有模板中時(shí),問(wèn)題就來(lái)了。這是我的文件:<!DOCTYPE html><html><head> <meta charset="utf-8"> <link rel="stylesheet" href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css"> <script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.js"></script> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <link rel="stylesheet" href="{{ url_for('static', filename='css/materialdesignicons.min.css')}}"> <link rel="stylesheet" href="{{ url_for('static', filename='css/vendor.bundle.base.css')}}"> <link rel="stylesheet" href="{{ url_for('static', filename='css/dataTables.bootstrap4.css')}}"> <link rel="stylesheet" href="{{ url_for('static', filename='css/style.css')}}"> <link rel="shortcut icon" href="{{ url_for('static', filename='images/favicon.ico') }}"></head><body><div class="container-scroller"> {{ form.autocomp.label }}: {{ form.autocomp }}</div> <script src="{{ url_for('static', filename='js/vendor.bundle.base.js')}}"></script> <script src="{{ url_for('static', filename='chart.js/Chart.min.js')}}"></script> <script src="{{ url_for('static', filename='js/jquery.dataTables.js')}}"></script> <script src="{{ url_for('static', filename='js/dataTables.bootstrap4.js')}}"></script> <script src="{{ url_for('static', filename='js/off-canvas.js')}}"></script> <script src="{{ url_for('static', filename='js/hoverable-collapse.js')}}"></script> <script src="{{ url_for('static', filename='js/template.js')}}"></script>
1 回答

眼眸繁星
TA貢獻(xiàn)1873條經(jīng)驗(yàn) 獲得超9個(gè)贊
這會(huì)加載 jQuery(一個(gè)古老的、不受支持的 jQuery 版本,其中存在已知的安全問(wèn)題,但 jQuery 仍然如此):
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
這將加載 jQuery UI(也是一個(gè)過(guò)時(shí)的版本),它添加了autocomplete
插件。
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.js"></script>
所以那個(gè)點(diǎn)$('#city_autocomplete').autocomplete
應(yīng)該是一個(gè)函數(shù)。
然后你加載一堆其他的東西,我們只有文件名可以繼續(xù)。
您暗示上面的所有內(nèi)容都是專門為此任務(wù)添加的,因此您有:
<script src="{{ url_for('static', filename='js/jquery.dataTables.js')}}"></script>
…我們可以假設(shè)前兩行之一已經(jīng)加載了 jQuery。
<script src="{{ url_for('static', filename='js/vendor.bundle.base.js')}}"></script>
……是最有可能的候選人。
新版本的 jQuery 會(huì)覆蓋您添加 jQuery UI 的版本,因此該autocomplete
插件會(huì)消失。
不要加載 jQuery 兩次。
加載一次。
首先加載它。
然后向其中添加 jQuery UI。
添加回答
舉報(bào)
0/150
提交
取消