我一直在四处寻找一种如何使用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时,它确实提供了正确的数据。 (我的想法是,它以不可读的格式传递,不知道我将如何从这里改变它。)
提前谢谢。
答案 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