2015-05-02 61 views
1

我在我的網站上有幾個menutabs。當用戶點擊其中一個時,它會展開或隱藏,但是當它加載(在後臺)以保存他想要的方式(不刷新)時。jQuery在後臺加載頁面

我使用這個:

function ajaxLink(){ 
var age = $("#age").val(); 
$.get("<?php echo _SITE_ADDRESS; ?>/linktab/1",{"age":age},function(r){ }); 
} 

它並不意味着這個,但它適用於一個單一的標籤;如果我想添加更多選項卡,那麼我必須添加更多這些並更改函數名稱,並在a href我必須添加onclick="ajaxLink()"

(年齡VAR是有沒有理由,我無法把它弄出來不破壞代碼。)

我怎樣才能改變這種使它一個jQuery的,所以當用戶點擊id爲1的選項卡會變爲/linktab/1,id爲2的選項卡會變爲,依此類推。

感謝

+0

通在URL作爲你的函數的一個參數 – epascarello

+0

這是否仍然有效? $ .get(「<?php echo _SITE_ADDRESS;?>/linktab/1」); –

回答

0

明白了只有這個工作,我自己綁定你ajaxLink他們兩個。

function ajaxLink(id){ 
var id = event.target.id; 
$.get("<?php echo _SITE_ADDRESS; ?>/linktab/"+id); 
} 

和在每個 「一個hreaf」 我以前的onclick = 「ajaxLink()」 ID =「1改變用於每個菜單選項卡的ID。

由於

0

如果我是你,我會採取的第一步是將一個類添加到所有要用來觸發該功能(你點擊的東西)的元素。你可以從他們刪除onClick。給他們所有的課程「ajaxLink」或任何你喜歡的。也給他們一個id,這個標籤的號碼。例如:

<div class="ajaxLink" id="2"></div> 

$('.ajaxLink').click(function(event){ 
    ajaxLink(event.target.id); 
}); 

function ajaxLink(id){ 
    var age = $("#age").val(); 
    $.get("<?php echo _SITE_ADDRESS; ?>/linktab/"+id, 
     {"age":age},function(r){ }); 
} 

從我的理解你的問題,如果你以前的代碼也應該這樣做。如果不讓我知道你得到了什麼錯誤。

0

如果你正在使用jQuery,你應該使用它來綁定事件。讓我們假設這個網站:

<ul> 
    <li class=tab><a href="<?php echo _SITE_ADDRESS; ?>/linktab/1">tab 1</a> 
    <li class=tab><a href="<?php echo _SITE_ADDRESS; ?>/linktab/2">tab 2</a> 
</ul> 

可以使用

$('.tab a').on('click', function(event){ // Using an anonymous function instead of ajaxLink 
    event.preventDefault(); // Cause you don't want to activate the link 

    var age = $("#age").val(); 

    // "this" refers to the A element 

    var url = this.href; 
    $.get(url,{"age":age},function(r){ /* your callback */ }); 

});