2010-10-07 4 views
1

Я переделываю страницу в разделе admin на веб-сайте, который я администрирую, чтобы использовать jQuery и AJAX. На одной из страниц у меня есть список предметов. Рядом с каждым элементом есть ссылка, которая является чем-то вроде этого:Передача переменных в jQuery из ссылок

<a href="delete.php?id=48" class="del_link">delete</a> 

Если я даю эти ссылки класс можно легко применить функцию JQuery для всех из них, но все они будут вызывать такую ​​же функцию в том же путь. Мой вопрос: как лучше всего получить функцию с идентификатором элемента без включения JavaScript в html?

Обновление: Спасибо за указатели, все. Я закончил с использованием этого:

$(".del_link").click(function(){ 
    var del_link = $(this).attr('href'); 
    $("#results").load(del_link, function(){ 
     $("#results").show().delay().fadeTo(2000, 0); 
    }) 
}) 

Файл, который Аякс звонков отвечает по-разному, если это было запрошено AJAX или нормально - если это Аякс он выдает ответ (например, «Пункт был успешно удален "), которые могут отображаться в #result div. Если кто-то отключил javascript, клиент будет перенаправлен на одну и ту же страницу php, но он перенаправит их после удаления элемента.

ответ

7

Быстрый и грязный:

$('.del_link').click(function(){ 
    var id = $(this).attr('href').split('=')[1]; 
    // Do something with the ID here 
}); 

Будьте осторожны, это не будет работать, если ссылка URL имеет параметр больше, чем один строки запроса. В этом случае вам нужно будет немного немного усложнить синтаксический анализ значения attr('href').

+0

+1 бить меня к нему .. :) –

0

При добавлении обработчика onClick тогда будет this.

Изучите атрибут href (используйте this.href) и проанализируйте идентификатор.

2

хорошо, вы можете получить HREF достаточно легко:

var id = $('.del_link a').attr('href'); 

затем просто разобрать идентификатор из.

2

В HTML 5 вы можете использовать атрибуты данных. Что-то вроде

<a href="delete.php?id=48" class="del_link" data-id='48'>delete</a> 

и JQuery

$("a.del_link").each(function(){ 
    var id = $(this).attr('data-id'); 
}); 

Читать this статьи на данном HTML 5 атрибуты

Смежные вопросы