点击link_to通过javascript

时间:2015-10-06 15:24:50

标签: javascript jquery ruby-on-rails ruby-on-rails-4

我一直在四处寻找一种如何使用javascript点击link_to标签的方法,但它似乎对我不起作用。

我有一个如下所示的link_to:

<%= link_to "", require_match_path(vacancy_id: vacancy.id, employee_id: current_employee.id), :id => vacancy.id %>

我尝试用一​​些javascript执行

onMatch: function (item) {
        var myId = $("#matching > ul li:visible").last().attr("id");
        alert(myId)
        document.getElementById(myId).click();
        alert('done')
    },

函数被调用(我收到警报),如果我在那里放置一些静态的东西,例如我的link_to中的静态id 1和document.getElementById(1).click();

但不知何故,当我试图动态获取数据时,它似乎不起作用。我可以通过警报检查它确实每次都能正确获取id,但是当我通过它时它什么也没做。

有谁知道为什么?如果动态获取id,则会像字符串一样传递,我是否需要更改它,如果是这样,我该如何检查/修复它?

简而言之:我有一个函数在我将静态数据放入其中时正确执行link_to。一旦我动态获取数据,它就不再起作用了。当我提醒我动态获取的ID时,它确实提供了正确的数据。 (我的想法是,它以不可读的格式传递,不知道我将如何从这里改变它。)

提前谢谢。

1 个答案:

答案 0 :(得分:1)

使用jQuery!

=link_to "my link", require_match_path(vars), id: "my_link"

然后在你的jquery中你执行以下操作:

$("#my_link").click(function() {
  // this is how to bind a click
  event.preventDefault(); //for not following the link target
});

$("#my_link").click(); //call the click