![](/img/trans.png)
[英]Why changing `window.location.href` doesn't work as a return?
[英]changing href doesn't work
我想在url中動態添加查詢字符串 。 整個表來自jQuery Datatable
當我更改選擇框(更改時)時,我需要將此值添加到td中的所有錨點,因此我通過以下代碼做到了這一點。 當我提醒href我得到我想要的
(“ XXX?YY = YY&bsort = ZZ”)
。 但是錨href卻沒有那個(&bsort = XX)查詢字符串(通過fire bug檢查)怎么了?
我的代碼
$('select[name="category_table_length"]').change(function(){
var b,href;
b = $(this).val();
$('td a').each(function(){
href = $(this).attr('href');
href = href+"&bsort="+b;
$(this).attr('href',href);
});
});
它對我有用 : http : //jsfiddle.net/7QTzt/
您的HTML有效嗎?
順便說一句,當您第二次從下拉菜單中進行選擇時,您的代碼無需考慮必須刪除“&bsort”屬性。 也許考慮一種更復雜的方法 。
試試這個例子 :
HTML:
<select name="category_table_length">
<option value="1">sort 1</option>
<option value="2">sort 2</option>
<option value="3">sort 3</option>
</select>
<table id="mytable">
<tr>
<td><a href="/page.php?data=a">anchor 1</a></td>
</tr>
<tr>
<td><a href="/page.php?data=a">anchor 2</a></td>
</tr>
</table>
JS:
$('select[name="category_table_length"]').change(function(event){
var
actual_value = $(this).val(),
new_href = "";
$('#mytable tr td a').each(function(i, el){
if (!$(el).attr("original_href"))
$(el).attr("original_href", $(el).attr('href') )
new_href = $(el).attr("original_href") + "&bsort=" + actual_value;
$(el)
.attr('href', new_href)
.html("change " + new_href);
});
});
如果您沒有“?” 應該更改為:
new_href = $(el).attr("original_href") + "?bsort=" + actual_value;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.