2010-09-17 27 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;?>";