2016-07-07 6 views
1

Я выводя несколько динамических ссылок, которые используют то же самое < a>. Мой вызов AJAX загружает мелкий контент всех ссылок. Но новый div, который отображает содержимое ajax, выводит только идентификатор первой ссылки при нажатии других ссылок. Я использую это, чтобы увидеть идентификатор в консоли console.log($('[data-taskid]').first().attr('data-id'));, как я могу передать идентификатор ссылки, нажатой на мое представление ajax? Спасибо, парни!Ajax вызов только передающий идентификатор первого элемента

<div id="content"></div> 

PHP

$string .= '<a class="hrefid" data-id="'.$name["id"].'" href="#link">'.$name["name"].'</a>'. 

Jquery

$('.hrefid').on('click', function (e) { 
    var load = $(e.target).attr("href"); 
    if(load == "#link") { 
     $.ajax({ 
      type: 'post', 
      url: "/page/test/"+$(this).parents("[data-id]").attr("data-id"), 
      complete: function (event) { 
       $("#content").contents().remove(); 
       $("#content").append(event.responseText); 


      } 
     }); 
    } 
}); 
+2

В чем заключается цель 'parents()' в вашем коде? – showdev

+0

Вы должны использовать 'this' вместо' e.target', поэтому ваш код должен быть 'var load = $ (this) .attr ('href');' –

+0

И '.parents();' не требуется так возьмите это и используйте '$ (this) .attr ('data-id')' –

ответ

1

Пожалуйста, ознакомьтесь, что я не использовал $ (это) в качестве ссылки, $ (это) ссылка получить chnaged раз вы используете $ (this) в ajax, это относится к ajax не основному селектору.

 $('.hrefid').on('click', function (e) { 
       var $this = $(this); 
       var load = $this.attr("href"); 
       if(load == "#link") { 
        $.ajax({ 
         type: 'post', 
         url: "/page/test/"+ $this.attr("data-id"), 
         complete: function (event) { 
          $("#content").contents().remove(); 
          $("#content").append(event.responseText); 
         } 
        }); 
       } 
     }); 
+0

Я использую var '$ this = $ (this);' хотя он меняет идентификатор в URL-адресе при щелчке связанного файла, но он не передает идентификатор в вид ajax. – DN0300

+0

. Попробуйте следующее: $ this.data ('id'), а также попробуйте $ this.prop ('data-id') – Niyati

+0

Я пробовал, чтобы оба они не работали, я смог использовать оба для загрузки правильного представления, но как только загруженное представление не сможет получить какой-либо другой id, чем первая ссылка – DN0300

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