0

我正在使用haml,在我没有任何haml经验之前。我正在触发 ujs 调用,其代码如下

  = link_to "this is the best",cast_vote_cast_votes_path(job_application.id),:id => job_application.id ,:remote => true ,:class => 'btn btn-primary best-button'

在此调用触发后,我的函数“cast_vote”执行,我有名为“cast_vote.js.erb”的模板。我只想在其中执行 js 警报。但是警报没有执行为什么?

我不知道。任何帮助请..

4

2 回答 2

2

尝试将此添加到您的 haml 模板中:

:javascript
  $(document).ready(function() {
    $(".best-button").click(function() {
       alert("ok");
    });
  });
于 2013-02-12T18:04:19.763 回答
1

您需要为远程 ajax 请求配置成功回调来处理响应。将此脚本添加到您的 haml 文件中:

$('.best-button')
  .bind('ajax:success', function(event, data, status, xhr){ 
    eval(data.response);
  });

并更改您的 js.erb 以返回表单中的 json 对象{response: 'alert("ok")'}

于 2013-02-13T15:20:36.183 回答