Передача значений по ссылке в функцию jQuery
Подскажите как правильнее по ссылке передать значения в обработчик события jQuery например:
<div class="pages"><a href="javascript:void(0);">ссылка</a></div> $(".pages a").click(function() { }); скажем нужно передать значения 1 и 2 я пробовал так <div class="pages"><a href="javascript:void(page1 = 1, page2 = 2);">ссылка</a></div> $(".pages a").click(function() { alert(page1); alert(page2); }); но в таком случае значения почему то передаются только после 2 кликов по ссылке пробовал так <div class="pages"><a href="javascript:void(1,2);">ссылка</a></div> $(".pages a").click(function(page1, page2) { alert(page); alert(page2); }); В таком варианте alert выводит объект Подскажите пожалуйста что делаю не так, и как надо правильно |
В обработчике клика вызовите функцию, которая будет передавать значения page1, page2 куда-то :)
|
Можно пример!? Заранее благодарен.
|
function test() { var page1 = 1, page2= 2; // делаем что-то дальше } $(".pages a").click(function() { test(); }); |
Вы меня может не правильно поняли
Без jquery я просто вызываю обработчик при клиике по ссылке например <a onclick="test(1,2)" href="javascript:void(0);">ссылка</a> и передаю их обработчику function test(page1, page2) { // тело функции } но как передать эти же значения по ссылке не применяя событие onclick, используя лишь метод .click jquery |
Расскажите для чего это вам нужно? Если таких ссылок будет много, то вам проще создать объект, который будет хранить все данные.
<a id="aid1">ссылка</a> <a id="aid2">ссылка2</a> var data = { 'a_id1': ['page1', 'page2'], 'a_id2': ['page3', 'page4'] ... }; $('.pages a').click(function() { alert(data[$(this).attr('id')]); }); |
Именно такой вариант я использовал, но почему то считаю его громоздким. Можно как то корректно через href="javascript:void(0);" передать значения обработчику используя метод .click
|
<a onclick="test(1,2)" href="javascript:void(0);">ссылка</a> Используйте этот вариант, если вы считаете это "корректным". |
Я вам очень благодарен за ответы! Но все же, вы можете пояснить почему в таком виде
<a href="javascript:void(page1 = 1, page2 = 2);">ссылка</a>значения передаются только после 2 клика? |
Потому что вы не передаете значения, вы создаете глобальные переменные
|
Часовой пояс GMT +3, время: 04:15. |