繁体   English   中英

通过javascript单击link_to

[英]Click on link_to through javascript

我一直在寻找一种方法,该方法如何使用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和document.getElementById(1).click();中添加了静态ID 1,它就会起作用。

但是以某种方式,当我尝试动态获取数据时,它似乎没有工作。 我可以通过警报检查它确实确实每次都能正确获取ID,但是当我通过它时它什么也没做。

有谁知道为什么? 如果您动态获取ID,就像字符串一样传递,我是否需要更改它,如果是的话,如何检查/修复它?

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

先感谢您。

使用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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM