2011-01-10 17 views
3

ページにJavaScriptを置く:レール2 replace_htmlは私が持っている私のコントローラで

私のRJSで
respond_to do |format| 
    format.js 
    end 

:私の部分で

page.replace_html("source_credential_list", :partial => "source_credential_list", :object => @all_source_credentials) 

または

page.replace("source_credential_list", :partial => "source_credential_list", :object => @all_source_credentials) 

:(

<% fields_for(@brand_report_source_credential_key) do |ff| %> 
    <%= ff.select :source_credential_id , options_from_collection_for_select(@all_source_credentials,'id','credential_display_name')%> 
<% end %> 
私ORIGビューで

<span id="source_credential_list"> 
    <%= render :partial => 'source_credential_list' %> 
    </span> 

私はそれは素晴らしい作品置き換えるんが、スパンがなくなっているので、一度だけ、私がnullでアラートを取得する第二の時間が、私は疑います。私がreplace_htmlを行うと、それはちょっと動作します、それはスパンを更新しますが、実際のrjs/javascriptを新しいselect/dropを含むスパンに置きます。だからこのようなもの:

ソースの資格情報 try {Element.update( "source_credential_list"、 "\ n \ n \ n"); } catch(e){アラート( 'RJSエラー:\ n \ n' + e.toString());警告( 'Element.update(\ "source_credential_list \"、\ "\ n \ n \ n \");');スローe}

私はスパンを部分的に動かして両方のコンボを実行しようとしましたが、何も動作しませんでした。確かに何かが分かりました....

答えて

1

私はこのアクションを引き起こしているコードはわかりませんが、link_to_remote呼び出しによってトリガーされたと仮定して、あなたには:update => "source_credential_list "パラメータをあなたのlink_to_remote呼び出しに追加します。そうでなければ、RJSを実行し、javascriptコードで指定された要素を更新します。

こちらをご覧ください:http://railsforum.com/viewtopic.php?pid=44191#p44191

をあなたがpage.replaceを行う際page.replaceが、指定された要素を置き換えるためにも、それは一度だけ働き、周囲のタグを含むを、指定した部分は、スパンが含まれない限り、タグを使用すると、初めて使用されると消えます。

+1

素晴らしいですが、それはonchange => remote_functionでしたが、それにも更新句がありました。 – Joelio

関連する問題