Рельсы передают идентификатор из поля auto_complete в поле наблюдения - PullRequest
0 голосов
/ 01 декабря 2009
<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"  } ) %>

У меня нормально работает поле автозаполнения, поле наблюдения срабатывает в соответствии с firebug, но я не уверен, как обновить текстовое поле из поля наблюдения.

Мне либо нужно получить идентификатор, который находит автозаполнение, либо даже текст, введенный, чтобы я мог передать его в: URL-адрес поля наблюдения.

Есть идеи?

Ответы [ 2 ]

0 голосов
/ 02 декабря 2009

Я пытаюсь получить ответ из поля автозаполнения, чтобы обновить другое текстовое поле с результатами. У меня есть ответы, работающие сейчас в firebug, но я не могу заставить его обновить окно с результатами.

<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" %>

код контроллера

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

if !@songlist.empty?

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

end

end

В Firebug я вижу этот ответ

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 }

Но это не обновляет мое текстовое поле, есть идеи?

0 голосов
/ 01 декабря 2009

Можете ли вы пройтись по тому, что вы хотите, чтобы этот код делал?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...