2011-03-11 109 views
0

我喜歡動態添加查詢字符串 in url。整個表是從 jQuery的數據表更改href不起作用

當我改變選擇框(變化), 我需要這個值添加到td.so所有錨我這樣做,通過下面的代碼。 當我提醒HREF我得到我想要的東西

( 「XXX?YY = YY & bsort = ZZ」)

。 但錨href的沒有(& bsort = XX)查詢字符串(檢查由火蟲) 什麼是錯的?

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

是的,它的確如此!我可以在每個內部獲得警報 – Gowri 2011-03-11 11:28:10

+0

您可以在重新分配它之前用'console.log'測試href內容嗎? (並帶給我們結果) – Akarun 2011-03-11 11:31:19

+0

對不起,我只是得到這個(控制檯沒有定義)錯誤 – Gowri 2011-03-11 11:47:41

回答

1

它爲我的作品:http://jsfiddle.net/7QTzt/

是您的HTML有效嗎?

順便說一句,您的代碼沒有考慮到當您從下拉列表中再次選擇時必須刪除「& bsort」屬性。也許考慮a more sophisticated approach

+0

是的我也從單獨頁面獲得結果。在我的情況下,從jquery數據表中的表是影響 – Gowri 2011-03-11 12:13:56

+0

@ gowri:那麼在你的問題中的測試用例是無效的,你需要提供失敗的實際代碼。 – 2011-03-11 12:14:24

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; 
+0

是的,我也從單獨的頁面獲得結果。在我的情況下,從jQuery數據表中的表格是影響..任何想法! – Gowri 2011-03-11 12:14:15

+0

.html(「change」+ new_href)的用法是什麼? – Gowri 2011-03-11 12:16:38

+0

你可以把html表格。 '。 HTML('我看到什麼運作良好,因爲鏈接是假的 – 2011-03-11 12:27:40