Jquery: динамические якоря - PullRequest
       14

Jquery: динамические якоря

0 голосов
/ 03 августа 2011

В настоящее время у меня есть страница, которая использует смесь PHP, JQuery и Ajax.На странице отображается таблица элементов с соответствующими привязками рядом с каждым элементом (строкой) для просмотра сведений, редактирования или удаления этого конкретного элемента.

Когда страница первоначально загружается, она выполняет вызов через Jquery / Ajaxдля заполнения таблицы и добавления идентификатора элемента к URL-адресу привязки каждого элемента (например, :<a id="myanchorid" href="viewdetails.php?id=5">). Вместо того, чтобы переносить пользователя на новую страницу, я хочу использовать функцию диалога Jquery для открытия страницы в диалоге.всплывающее окно.

Проблема, с которой я сталкиваюсь, заключается в том, что для правильного вызова моей функции Jquery мне, очевидно, нужен уникальный идентификатор для каждой привязки, но, поскольку я не знаю, сколько элементов я 'будет, когда страница загрузится, и что ID каждого элемента может быть любым числом, которое я поставил в тупик, как создавать якорные теги с идентификаторами, которые я могу им передать в мою функцию диалога.

Спасибо!

В настоящее время я использую следующую функцию:

$(document).ready(function(){
 function yourfunction(event) {
           alert($('#myanchorid').attr('href')); 
          //$("#dialog").load(/getEventNameById/').dialog(); //will add item ID here
         return false;
    }


$('#myanchorid').live('click',yourfunction); //need myanchorid to dynamically be passed...myanchorid1, myanchorid2...

});

Ответы [ 2 ]

1 голос
/ 03 августа 2011

Вы можете использовать атрибуты HTML5 data:

<a href="viewdetails.php?id=5" data-id="5" class="view_more">Click to view</a>

А затем:

$('.view_more').click(function()
{
    id = $(this).data('id') // should yield 5
});
0 голосов
/ 03 августа 2011

Почему бы не добавить класс ко всем элементам, таким как

<a href="" id="" class="ajax">...</a>

$('.ajax').live('click',yourfunction);
...