更改按钮的href并转到下一页

时间:2013-08-09 13:40:24

标签: jquery

我在页面上创建了一个按钮,其HTML如下所示:

enter image description here

现在在我的JavaScript中我有一个jQuery,它找到了这样的按钮:

 $('.personlistbtn').click(function(e) {
    console.log("inside click event of person list");
    console.log("provider id was this " + provider_id);
    // ????? 
  });

我想将一些参数附加到我上面发布的href按钮,这样它就可以转到我的Rails应用程序中的新页面,其中包含我传递给它的那些参数,所以希望这样的事情:

<a href="/pharmacy/patients?provider_id=234" >

注意我附上了?provider_id = 234 。 我怎样才能做到这一点?

3 个答案:

答案 0 :(得分:5)

假设provider_id已在代码中的其他位置设置,则应该可以:

$('.personlistbtn a').click(function(e) {
    e.preventDefault();
    window.location.assign(this.href + '?provider_id=' + provider_id);
});     

答案 1 :(得分:1)

您必须编辑href attr:

 $('.personlistbtn').on('click', function() {
     var $a = $(this).find('a');
     var href = $a.attr('href');
     $a.attr('href', href + '?provider_id=234');
 });

编辑:

单击容器div时,该代码将起作用。如果要在单击锚点时附加参数,则应执行以下操作:

 $('.personlistbtn').on('click', 'a', function(e) {
     e.preventDefault();
     window.location = $(this).attr('href') + '?provider_id=234';
 });

答案 2 :(得分:0)

试试这个:

$('.personlistbtn a').click(function (e) {
    e.preventDefault();
    var provider_id = '?provider_id=234'; // this you already have, I just put it to have a value
    var newurl = this.href + '?provider_id=' + provider_id
    window.location.assign(newurl);
});

<强> JSFIDDLE