我想在网址中动态添加查询字符串。整张桌子来自 jquery Datatable
当我更改选择框时(更改时), 我需要将 this 值添加到td中的所有锚点。所以我通过以下代码执行此操作。 当我提醒 href 我得到了我想要的东西
( “XXX YY = YY&安培; bsort = ZZ”)
。 但是锚点href没有那个(& bsort = XX)查询字符串(由fire bug检查) 怎么了?
mycode的
$('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);
});
});
答案 0 :(得分:1)
它对我有用:http://jsfiddle.net/7QTzt/
您的HTML有效吗?
顺便说一下,当您第二次从下拉列表中选择时,您的代码不会考虑必须删除“& bsort”属性。也许考虑a more sophisticated approach。
答案 1 :(得分:0)
试试这个example:
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;