jquery ajax自动完成,使用AJAX进行JQuery自动完成(JQuery Autocomplete with AJAX)
使用AJAX進(jìn)行JQuery自動(dòng)完成(JQuery Autocomplete with AJAX)
我正在嘗試編寫一個(gè)JQuery自動(dòng)完成腳本,它將通過(guò)AJAX調(diào)用url并在用戶將數(shù)據(jù)輸入表單時(shí)更新自動(dòng)完成結(jié)果。
我有我的AJAX設(shè)置,目前正在返回JSON。 但我不知道如何獲得自動(dòng)完成功能來(lái)調(diào)用它并使用響應(yīng)。 我設(shè)法讓以下工作,但這是靜態(tài)數(shù)據(jù),所以對(duì)我的任務(wù)沒有好處:
$("input#name").autocomplete({
source: ["c++", "java", "php", "coldfusion", "javascript", "asp", "ruby"]
});
干杯。
I'm trying to write a JQuery autocomplete script which will call a url via AJAX and update autocomplete results as user enters data into the form.
I have my AJAX setup and currently returning JSON. But I don't know how to go about getting the autocomplete function to call it and use the response. I have managed to get the following working, but this is static data, so no good for my task:
$("input#name").autocomplete({
source: ["c++", "java", "php", "coldfusion", "javascript", "asp", "ruby"]
});
Cheers.
原文:https://stackoverflow.com/questions/4387423
更新時(shí)間:2020-02-08 00:43
最滿意答案
$( "#birds" ).autocomplete({
source: "search.php",
minLength: 2,
select: function( event, ui ) {
log( ui.item ?
"Selected: " + ui.item.value + " aka " + ui.item.id :
"Nothing selected, input was " + this.value );
}
});
$( "#birds" ).autocomplete({
source: "search.php",
minLength: 2,
select: function( event, ui ) {
log( ui.item ?
"Selected: " + ui.item.value + " aka " + ui.item.id :
"Nothing selected, input was " + this.value );
}
});
相關(guān)問(wèn)答
$( "#firstname" ).autocomplete({
source: function( request, response ) {
$.ajax( {
url: "search.php",
dataType: "json",
data: {
te
...
首先你使用的是file.php所以數(shù)據(jù)類型不像這個(gè)dataType: "jsonp"使用它你需要進(jìn)行更改 我不確定它會(huì)對(duì)你有所幫助,但如果你能管理json中的php文件的響應(yīng),例如像這樣 {
"employees": [
{
"firstName": "John",
"lastName": "Doe"
},
{
"firstName": "Anna",
...
自動(dòng)完成文檔中的源代碼完美的例子。 jQuery的
$(function() {
function log( message ) {
$( "
" ).text( message ).prependTo( "#log" );$( "#log" ).scrollTop( 0 );
}
$( "#city" ).autocomplete({
source: function( request, respons
...
我猜你已經(jīng)顯示的AJAX響應(yīng)(作為圖像)是來(lái)自服務(wù)器的實(shí)際響應(yīng),在你的$.map()修改它之前。 你的$.map()函數(shù)迭代來(lái)自服務(wù)器的那個(gè)json響應(yīng),并且它試圖在每個(gè)元素中使用c_name和c_id屬性名稱。 但是服務(wù)器的json不包含這些屬性名稱 - 它有customer_id和name 。 所以$.map()創(chuàng)建了一堆空元素,并將它們傳遞給自動(dòng)完成。 然后,自動(dòng)完成功能會(huì)顯示一組元素,但沒有任何標(biāo)簽,這就是為什么您會(huì)看到帶有空橫線的下拉列表,而不是完全沒有任何內(nèi)容,這就是您沒有響應(yīng)/匹配時(shí)
...
嘗試使用div而不是span標(biāo)記來(lái)表示ajax_response_city。 html搞砸了,你的選擇將不再適用。 我把一個(gè)例子放在一起: http : //jsfiddle.net/me2loveit2/86T4f/
我也會(huì)開始使用正確的html(比如在ul或ol中放置li元素)來(lái)避免這樣的問(wèn)題。 Try using a div instead of a span tag for
...
非常古老的問(wèn)題,但今天仍然具有相關(guān)性,因?yàn)樗l(fā)生在我身上,我不確定接受的答案是否涵蓋所有基礎(chǔ),或解釋問(wèn)題。 發(fā)生這種情況是因?yàn)樽詣?dòng)完成插件要求您提供帶有noResults的消息對(duì)象和結(jié)果屬性,以告知它如何標(biāo)記搜索結(jié)果。 noResults屬性應(yīng)該是一個(gè)字符串,在您猜對(duì)了,沒有結(jié)果時(shí)顯示。 那么results屬性應(yīng)該是一個(gè)接受count參數(shù)的方法,并返回一個(gè)字符串。 像這樣的東西: $("input").autocomplete({
source: function( request, re
...
http://jqueryui.com/demos/autocomplete/#remote $( "#birds" ).autocomplete({
source: "search.php",
minLength: 2,
select: function( event, ui ) {
log( ui.item ?
"Selected: " + ui.item.value + " aka
...
查看jQuery.ajaxError方法,它允許您為所有ajax調(diào)用設(shè)置默認(rèn)錯(cuò)誤回調(diào); http://api.jquery.com/ajaxError/ Have a looksie at the jQuery.ajaxError method, which allows you to setup a default error callback for all ajax calls; http://api.jquery.com/ajaxError/
自動(dòng)完成是jQueryUI的一部分,而不是jQuery。 在這里閱讀有關(guān)自動(dòng)完成的信息: https : //jqueryui.com/autocomplete/ 。 該網(wǎng)站還將提供下載jquery ui的鏈接。 你已經(jīng)包含了兩個(gè)不同版本的jQuery但沒有jQuery UI Autocomplete is a part of jQueryUI not jQuery. Read up about autocomplete here: https://jqueryui.com/autocomplet
...
總結(jié)
以上是生活随笔為你收集整理的jquery ajax自动完成,使用AJAX进行JQuery自动完成(JQuery Autocomplete with AJAX)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: mui ajax ab,mui.ajax
- 下一篇: js获取服务器响应头信息,js获取HTT