2010-09-17 26 views
3

是香港專業教育學院被告知使用的onclickjQuery的:的的onclick而不是HREF = JavaScript的::

$('#linkId').click(function() 

,而不是

<a href='javascript:showComments($displayWall[id]);'> 

但後來我如何變量存儲在功能一對夫婦的時間,就像我能做到的那樣?

我的意思是如果一個鏈接是這樣的:<a id="linkId">test</a>我可以在哪裏存儲變量?

+2

'$ displayWall [id]'從哪裏來? – 2010-09-17 17:06:34

回答

5

更新:

它看起來更像$displayWall是一個全局變量JS(否則<a href='javascript:showComments($displayWall[id]);'>是行不通的)。那麼這應該實際工作太:

$('#linkId').click(function() { 
    showComments($displayWall[id]); 
}); 

我現在意識到,下列假設是遙不可及的,但儘管如此:

假設$displayWall是一個服務器端的變量,這意味着該頁面被預-處理。

你可以,例如,設置鏈接的ref屬性變量值:

<a id="linkId" ref="$displayWall[id]">test</a> 

,並訪問單擊處理程序:

$('#linkId').click(function() { 
    showCmments($(this).attr('ref')); 
    //... 
}); 

如果要連接的處理程序僅限一個元素,您還可以在點擊處理程序中設置該變量:

$('#linkId').click(function() { 
    var value = '$displayWall[id]'; 
    //... 
}); 
0

你可以做<a id="linkId" name="SOME_DATA">test</a>。單擊處理程序可以訪問這些數據,如下所示:

$('#linkId').click(function(){ 
    alert($(this).attr('name')); 
}); 
0

您可以使用其他屬性來保存您的動態值(如ID,名稱,版本,類等)。一個例子可以變成這個樣子 - > PHP/HTML:

echo '<a class="showComments" id="c',$displayWall['id'],'" href="#">Show comments</a>'; 

的jQuery:

$(function(){ 
    $("a.showComments").click(function(){ 
    var id = $(this).attr("id").substr(1); 
    // ... 
    return false; 
    }); 
}); 

如果你的變量是所有元素一樣,你可以將它定義爲JavaScript變量。

var myVar = "<?=$myVar;?>"; 
相關問題