更改部分href值

时间:2014-05-05 22:18:28

标签: javascript jquery href

我有一个需要更改的链接,具体取决于活动的复选框。对于所有3个复选框,默认链接可能是“/ static_part& variable = 1,2,3”,当选中复选框1和3时,链接应为“/ static_part& variable = one,three”。我继续这个工作,除了网址的静态部分也被删除,它变成“一,三”没有所需的静态部分“/ static_part& variable =”。

为什么这不起作用?

 $('.check:checked').each(function () {
     "/static_part&variable=" + links.push($(this).data('link')); //get links
 });

演示:http://jsfiddle.net/zPpXS/

JS

$('.check').change(function () {
      var links = []; //array for links

      $('.check:checked').each(function () {
          links.push($(this).data('link')); //get links
      });

      $(".link").attr("href", links.join(",")); // change link
  });

HTML

<label><input class="check" type="checkbox" checked data-link="one"><span class="checkstate">item one</span></label>
<br />
<label><input class="check" type="checkbox" checked data-link="two"><span class="checkstate">item two</span></label>
<br />
<label><input class="check" type="checkbox" checked data-link="three"<span class="checkstate">item three</span></label>
<br />
<a class="link" href="/static_part&variable=one,two,three">click link</a><br />

1 个答案:

答案 0 :(得分:3)

您错过了链接构建中的静态部分。

在您的Javascript中,更改

$(".link").attr("href", links.join(","));

$(".link").attr("href", "static_part?variable=" + links.join(","));