3

我有一个链接,当用户单击时我需要向它添加一个额外的参数,这个参数应该在运行时从输入文本中读取,就像这样

=link_to "Today", api_retrieve_index_path(campaign_id: "$('#campaign_id').val()", start: (Time.now-1.day).utc.iso8601, end: (Time.now).utc.iso8601), method: :post, remote: true

有没有办法做到这一点?谢谢

4

1 回答 1

2

您应该通过观​​察链接上的单击操作在客户端执行此操作:

$('a#my_link').on('click', function() { this.href = this.href + '&campaign_id=' + $('#campaign_id').val() }

或者对于现代的、与 Turbolinks 兼容的方法:

$(document).on('click', 'a#my_link', function() { this.href = this.href + '&campaign_id=' + $('#campaign_id').val() }

这会在用户单击链接时、但在浏览器导航链接之前将campaign_id 添加到链接中。

请注意,这是粗略的代码,因为它假定查询字符串已经存在,因此总是添加一个 & 符号。

于 2013-08-23T08:46:56.947 回答