2011-02-28 100 views
1

我有一個使用jQuery綁定的javascript更改事件的html select元素。發生更改時,根據所選選項可能會發生幾個不同事件之一。最初的調用是通過ajax在邏輯處理的軌道控制器上完成的。帶jQuery的Rails RJS - 爲什麼我的頁面沒有更新?

之一的三件事情都是可能的位置:

  • 一些頁面元素啓用
  • 額外的頁面元素添加
  • 出於某種原因

    1. 一些頁面元素是殘疾人,我不能得到#3工作! Firebug向我顯示正確的請求和響應標題,服務器告訴我模板已成功呈現,但屏幕上沒有任何內容顯示。我已經去了硬編碼元素ID試圖簡單的渲染,但仍然沒有運氣。

      這是我的RJS文件:

      ​​

      我試着硬編碼的元素ID,使簡單的「Hello World」的諧音等,不能找出問題的根源所在,從而產生。同時,使用控制檯,我可以很容易元素加入到這個相同的部分:$(「#element_id」)後(」
      你好,世界

      在別的地方可能會錯誤地除了螢火蟲控制檯和服務器報告。 ?我很爲難終端窗口

      • 克里斯
    +0

    在Net標籤中的firebug中,查看XHR請求並查看服務器返回的內容... – macarthy 2011-02-28 20:38:14

    回答

    2

    這個問題的解決方案並不明顯,但在這裏它是:

    $("#field_id").after("<%= escape_javascript(render :partial=>'folder/myPartial') %>"); 
    

    注意,我不得不把引號內的整個ERB塊!

    0

    從以往的經驗是很好用escape_javascript周圍渲染()方法

    所以它可以看看:

    page[field_type_selector].after(escape_javascript(render(:partial=>'question_builder/add_option_button_during_edit'))) 
    
    +0

    謝謝您的輸入。我嘗試了兩個併入escape_javascript函數,並在響應頭中查找任何與錯誤相關的消息,但仍然沒有運氣。 – ChrisOnRails 2011-03-01 16:24:30

    +0

    想知道頁[field_type_selector]。之後的部分。從來沒有使用過它......但也許我會嘗試用手寫js來使用jquery.after方法,而不是頁面[something] 也許你應該使用page <<「$(#{field_type_selector})。( #{逃生(渲染(ETC)))})」 – m4risU 2011-03-01 21:12:58

    相關問題