Передача значений по ссылке в функцию 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, время: 17:47. |