1
我是一個使用rails和jquery開發的新手,並且一直在尋找一個簡單的例子來說明如何做到這一點。我有一個頁面,poweroutput.html.erb
,顯示特定日期客戶太陽能系統的功率輸出。當他們輸入不同的日期時,我希望他們看到不同的輸出,但不必重新加載頁面。在我的網頁我有一些JavaScript,以及一個形式(提交日期,用戶希望看到的功率輸出)如下:Rails和jQuery:頁面上的Javascript正在重新加載,但沒有執行
<head>
<script type="text/javascript">
<%= render "pages/poweroutputscript" %> # renders a partial containing all my js
</script>
</head>
# a form is here on this page too
我的頁面的控制器操作是目前如下:
def poweroutput
# some code
if request.xhr?
@date = params[:dt] # dt is posted when form is submitted
else
@date = Time.now.getlocal.strftime("%d.%m.%Y")
end
respond_to do |format|
format.html
format.js { render :action "pages/poweroutput.js.erb" }
end
end
而且poweroutput.js.erb如下:
$("script").html("<%= escape_javascript render "pages/poweroutputscript" %>");
原樣,形式成功提交,我可以在Firebug的,我的腳本標記之間的JS的確是代表看與新的js搭檔。但瀏覽器中的視圖並未相應更新。我究竟做錯了什麼?
是的!這工作!謝謝!幾天來,我一直都在爲此而流淚。 – pitachip
在replaceWith完成其工作後,Firebug無法識別