我有一个需要更改的链接,具体取决于活动的复选框。对于所有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
});
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 />
答案 0 :(得分:3)
您错过了链接构建中的静态部分。
在您的Javascript中,更改
$(".link").attr("href", links.join(","));
到
$(".link").attr("href", "static_part?variable=" + links.join(","));