Ruby on rails rails 2替换html将javascript放入页面
在我的控制器中,我有:Ruby on rails rails 2替换html将javascript放入页面,ruby-on-rails,ajax,prototypejs,rjs,Ruby On Rails,Ajax,Prototypejs,Rjs,在我的控制器中,我有: respond_to do |format| format.js end 在我的rjs中: page.replace_html("source_credential_list", :partial => "source_credential_list", :object => @all_source_credentials) 或 在我看来:( 在我看来: <span id="source_credential_list"&g
respond_to do |format|
format.js
end
在我的rjs中:
page.replace_html("source_credential_list", :partial => "source_credential_list", :object => @all_source_credentials)
或
在我看来:(
在我看来:
<span id="source_credential_list">
<%= render :partial => 'source_credential_list' %>
</span>
'源\凭证\列表'%>
当我确实替换它时效果很好,但只有一次,第二次我收到一个空警报,我怀疑是因为跨度消失了。如果我确实替换了html,它会有点效果,它会更新跨度,但它会将实际的rjs/javascript放入跨度,包括新的选择/下拉列表。因此类似这样:
源凭证
尝试{Element.update(“source\u-credential\u-list”,“\n\n”);}catch(e){alert('RJS错误:\n\n'+e.toString());alert('Element.update(\'source\u-credential\u-list\',\“\n\n\”);抛出e}
我尝试将span移到partial中并同时执行两个组合,但都不起作用。我确信这很明显……我不确定是哪段代码触发了此操作,但假设它是由链接到远程调用触发的,请确保您没有:update=>“source\u credential\u列表”参数,否则它将执行RJS并更新用javascript代码指定的元素 请看这里:
另外,当您执行page.replace时,它只工作一次,因为page.replace将替换指定的元素,包括周围的标记,因此除非您指定的部分包含span标记,否则它将在第一次使用时消失。太棒了,您是对的,它是一个onchange=>remote\u函数,但它确实有一个更新cl也因为它。
<% 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 %>
<span id="source_credential_list">
<%= render :partial => 'source_credential_list' %>
</span>