2011-09-28 68 views
0
$(function() { 
    $('.autocomplete_address').autocomplete({ 
    minLength: 0, 
    delay: 600, 
    source: function(request, response) { 
     $.ajax({ 
     url: "/welcome.js", 
     dataType: "json", 
     data: {search: request.search}, 
     success: function(data) { 
     var data_obj = jQuery.each(data,function(i, key) { 
        }); 
     response($.map(data_obj, function(item) { 
      return { 
      label: item.area, 
      value: item.area 
      } 
     })); 
     } 


    }); 
     } 

    }); 


}); 

使用jQuery-UI-186的自動完成jQuery的自動完成使用JSON輸入+ Rails3中

自動完成的部分作品,但它顯示任何數據相同的結果進入

在服務器端代碼如下所示:

class WelcomeController < ApplicationController 

    def index 
    @area = Address.search params[:search] 
    @area = @area.as_json(:include => :state) 
    @area = @area.to_json 

    respond_to do |format| 
     format.html 
     format.js {render :json => @area} 
    end 
    end 

end 

我要去哪裏錯了!!!!!! 任何幫助,不勝感激。

回答

1

對象有一個term屬性,而不是search屬性。更新您的AJAX調用:

/*Snip */ 
data: { search: request.term }, 
/*Snip */ 
+0

魔獸......這是有效的!!!!!!!!! !YAY ... **非常感謝**當我達到15個聲望點時我會投票贊成 – railerhelper

+0

@railerhelper:沒問題! –

0

更新:從文檔製作:

   success: function(data) { 
        response($.map(data.geonames, function(item) { 
         return { 
          label: item.name + (item.adminName1 ? ", " + item.adminName1 : "") + ", " + item.countryName, 
          value: item.name 
         } 
        })); 
       } 

所以你可能是這樣的:

success: function(data) { 
        response($.map(data_obj, function(item) { 
         return { 
          label: item.area, 
          value: item.area 
         } 
       }); 
    } 

它看起來像你沒有真正做你的。每次的結果任何東西( )。

+0

很抱歉這麼晚纔回復.....我會THT檢查 – railerhelper

+0

都能跟得上這不是它...一些如何將被髮送到服務器進行查找的數據越來越發送'data:{search:request.search},'正確嗎?我不確定.... – railerhelper

+0

不是這不是...它有一些如何發送到服務器查找的數據正在發送 – railerhelper