2010-09-17 4 views
3

Да-сказали пару раз, используя OnClickJQuery: OnClick вместо HREF = Javascript ::

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

вместо

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

Но тогда, как я сохранить переменную в функции , как я могу сделать с этим выше?

Я имею в виду, если ссылка выглядит так: <a id="linkId">test</a> Где я могу хранить переменную?

+2

Где находится '$ displayWall [id]'? –

ответ

5

Update:

Это больше похоже $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

Вы можете использовать другие атрибуты для хранения и динамическое значения (например, идентификатор, имя, отно, класс и т.д.). Одним из примеров может стать, как это -> 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;?>"; 
Смежные вопросы