從軌

2012-12-06 9 views
0

我試圖使用pageless jQuery插件,在我的應用助手傳遞JavaScript回調函數的名字,我需要通過回調函數的名稱作爲參數之一:從軌

opts = { 
     :totalPages => total_pages, 
    :url  => url, 
    :loaderMsg => 'Loading more items...', 
    :loaderImage => image_path("img/ajax_loader.gif"), 
    :complete => "update" 
} 

javascript_tag("$('#tiles').pageless(#{opts.to_json});") 

這並未「T顯然工作因爲jQuery試圖調用‘更新’.CALL()

我應該如何通過我的回調函數的名稱,以便在JSON這將是不帶引號

+0

它應該是一個字符串嗎? –

+0

不,它只是我有的函數的名稱:function update()..我需要將它傳遞給無頁面的jquery插件,以便在完成任務時調用它。我不知道如何調用它 – shane

+0

傳遞給jQuery函數的對象預計在'opts.complete'上有一個函數對象。 JSON對象不能包含函數對象。 –

回答

1

你想要做這樣的事情:

<%= javascript_tag do %> 
    $('#tiles').pageless({ 
    totalPages: <%= total_pages %>, 
    url: '<%= url %>', 
    loaderMsg: 'Loading more items...', 
    loaderImage: '<%= image_path("img/ajax_loader.gif") %>', 
    complete: update 
    }); 
<% end %> 

如果我正確地假設你的代碼片段來自Rails視圖。

+0

它來自_helper.rb – shane

+0

也應該在那裏工作。我假設你正在使用ERB模板引擎。如果是別的,你需要翻譯。 – Cymen

+0

我想我可以按照你說的方式來做,但我認爲應該有一種方法來將javascript函數名稱傳遞給to_json – shane