2009-12-01 4 views
0
<p>Song Name:<%= text_field :songlists, :song_name, :id => "songlists_" + section.id.to_s + "_song_name" %></p> 

<%= auto_complete_field "songlists_" + section.id.to_s + "_song_name", :method => :get, 
     :with => "'search=' + element.value", :url => formatted_songlists_path(:js) %> 

<p>Artist:<%= text_field :songlists, :artist, :id => "songlists_" + section.id.to_s + "_artist" %></p> 

<%= observe_field ("songlists_" + section.id.to_s + "_song_name", :update => "songlists_" + section.id.to_s + "_artist", :with => "element.value" , :url => { :controller => :songlists, :action => "get_artist" }) %> 

J'ai l'auto-complet-champ fonctionne très bien, et le champ d'observer déclenche selon Firebug, mais je ne suis pas sûr comment mettre à jour le champ de texte de la observer sur le terrain.Rails passent ID de auto_complete champ observe_field

je soit besoin d'obtenir l'ID que les trouvailles auto-complet, ou même le texte saisi afin que je puisse passer dans l'url du champ d'observer.

Des idées?

Répondre

0

Pouvez-vous WALKTHROUGH ce que vous voulez faire ce code?

0

Je suis en train d'obtenir la réponse du champ de remplissage automatique, de mettre à jour un autre texte sur le terrain avec les résultats. J'ai les réponses qui travaillent maintenant à Firebug, mais je ne peux pas sembler obtenir la mise à jour de la boîte avec les résultats.

<p>Song Name:<%= text_field :songlists, :song_name, :id => 
"songlists_" + section.id.to_s + "_song_name" %></p> 


<%= auto_complete_field "songlists_" + section.id.to_s + 
"_song_name",  :method => :get, 
        :with => "'search=' + element.value", 
        :url => formatted_songlists_path(:js) %> 

<p>Artist:<%= text_field :songlists, :artist %></p> 

<%= observe_field "songlists_" +section.id.to_s + "_song_name", 
        :frequency => 0.5, 
        :url => { :controller => :songlists, 
        :action => :get_artist }, 
        :update => "songlists_artist", 
        :with => "song_name" %> 

code du contrôleur

def get_artist 
@songlist = Songlist.find(:all, :conditions => ['name = ?', params[:song_name]]) 

if [email protected]? 

    render :update do |page| 
    page.replace_html 'songlists_artist', :partial => 
    'get_artist', :object => @songlist 
end 

end 

end 

En Firebug je vois cette réponse

try { 
Element.update("songlists_artist", "Robbie Williams"); 
} catch (e) { alert('RJS error:\n\n' + e.toString()); 
alert('Element.update(\"songlists_artist\", \"Robbie Williams\");'); 
throw e } 

Mais il est pas mis à jour mon champ de texte, des idées?