1

我的问题是我在页面上有一些链接,目前这些链接是 ruby​​ 在 html 文件中生成的。因此,当用户加载页面时,会创建链接并基于一些数据库数据。但是,还有一种选择,即不是 DB 生成的,并且应该实时工作。

例如,如果当前提交了按钮“A”,则链接应请求:

http://url/?(ruby generated parametrs)&button=A.

然后用户点击按钮“B”,链接请求:

http://url/?(ruby generated parametrs)&button=B

总结一下,基本上,Jquery 应该添加一个额外的参数来链接,然后向服务器发送请求。

这可能吗?我怎样才能做到这一点?

PS我非常不喜欢在提交选项按钮之一时重新加载页面上所有链接的想法,它与特定的应用程序功能相关,页面上有很多这样的链接。

代码:

 array[i]="<span id='width_measure_#{i}'>"+(link_to(array[i], {:controller =>'tests',  :action => 'add_key', :keyword => array[i], :position=>i}, :class=>'unsaved_links', :id=>i, :method => :post, :remote => true))

HTML 输出:

<a href="/tests/46/add_key?keyword=TEST&amp;position=0" class="unsaved_links" data-method="post" data-remote="true" id="0" rel="nofollow">TEST</a>

想要的最终请求:

<a href="/tests/46/add_key?keyword=TEST&amp;position=0&amp;button=A" class="unsaved_links" data-method="post" data-remote="true" id="0" rel="nofollow">TEST</a>
4

2 回答 2

4

我认为你想要的是一个简单的替换,或者更确切地说是一个字符串附加:

$("a").click(function() {
    this.href += "&button=" + this.id;
});

http://fiddle.jshell.net/N2Yvv/

于 2013-06-07T05:28:12.137 回答
0

尝试跟随。演示在这里

HTML

<a id="buttonA" href="http://yahoo.com" target="_blank">Yahoo</a>
<a id="buttonB" href="http://google.com" target="_blank">Google</a>
<a id="buttonC" href="http://twitter.com" target="_blank">twitter</a>

jQuery

$('a').each(function(){

    var newUrl = $(this).attr('href') + '?button=' + this.id;
    $(this).attr('href', newUrl);

});
于 2013-06-07T05:27:52.510 回答