2015-10-06 72 views
0

我一直在寻找一种方式如何点击一个与JavaScript的link_to标签,但它似乎并没有为我工作。点击link_to通过javascript

我有一个的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和document.getElementById(1).click();

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

有没有人有一个想法,为什么?如果你动态地获取id,就像字符串一样传递,我是否需要改变它,如果是的话,我该如何检查/修复它?

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

在此先感谢您。

回答

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 
+0

完美,谢谢! –