簡體   English   中英

更改href無效

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM