0

我使用略有不同的參數重複調用java/coffescript函數typehandler(未顯示)。這發生在應用程序的每一頁加載中。它只需要在腳本適用的3或4頁上發生。並在這些頁面中只應給予適當的參數調用兩次:Rails:命名空間Cof​​feeScript僅在給定頁面上調用腳本

#app/assets/javascripts/disk_items.js.coffee 
jQuery(document).ready -> 
    typehandler = (selector, url, hidden_id, entry_id) -> 
    ...  
## if page is DiskItem#edit 
typehandler '.projects_tt', '/projects.json', '#disk_file_project_code', '#project_code' 
typehandler '.products_tt', '/products.json', '#disk_file_product_id', '#product_title' 
## if page is InventoryItem#edit_multiple 
typehandler '.projects_tt', '/projects.json', '#inventory_item_project_code', '#project_code' 
typehandler '.products_tt', '/products.json', '#inventory_item_product_id', '#product_title' 
... 

如何:

  1. 只在某些頁面上運行腳本
  2. 設置的第三個參數,#disk_file_project_code,給東西從頁面?也許一個HTML5的data元素或者也許它可以從窗體內拾取那個id

預先感謝任何見解...

回答

0

是嵌入功能,實際的HTML頁面中調用的腳本標記不可取?因爲這可能是最簡單的方式。

如果被認爲是不好的形式,和/或函數調用是js.coffee文件本身由於某種原因中,那麼你可以檢查你的位置,像

if window.location.href.indexOf("DiskItem/edit") > -1 

和按照您的建議,通過數據屬性或表單值從html中提取第三個參數。

相關問題