2016-06-07 9 views
2

Ich habe eine Tabelle, die ich Links in jeder Zeile hat. Ich versuche, AJAX zu verwenden, um ein Array von Daten aus der Datenbank über PHP abzurufen und die Daten zurückzugeben, die in einem anderen DIV gedruckt werden.Benötigen Sie die Verknüpfung Link-Tabelle Zeile in JQuery und

Ich versuche, den Attributwert (Link-ID) zu erhalten, die ich jeder Zeile zuweisen und diesen Wert an die Abfrage übergeben. Ich bin nicht in der Lage, die Link-ID zu erhalten, sie wird nicht angezeigt, wenn ich die Ausgabe einer Warnung teste. Ich habe mehrere Post gelesen und ein paar Dinge ausprobiert, aber nicht gut. Das Popup-Fenster zeigt "undefined" an.

<tr id="mashed_row"> 
<td class="linked-title dark unpadded"> 
<a href="#" id="linksplode" link_id="<?php echo $link['linkid']; ?>"><?php echo $link['keywords']; ?></a> 
</td></tr> 

<script type="text/javascript"> 
    $(document).ready(function(){ 
     $('#mashed_row a').click(function() { 
      alert($(this).closest('tr').find('td').attr('link_id')); 
     }); 
    }); 
    </script> 
+0

Warum '$ (this) .closes ('tr') .find ('td') .attr ('link_id')'? Sie könnten einfach '$ (this) .attr ('link_id')' –

Antwort

1

Sie versuchen td attr zu erhalten, die nicht da ist, versuchen Sie dies, hoffe, es hilft: -

$(document).ready(function(){ 
 
     $('#mashed_row a').click(function() { 
 
      alert($(this).attr('link_id')); 
 
     }); 
 
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> 
 
<table> 
 
    <tr id="mashed_row"> 
 
    <td class="linked-title dark unpadded"> 
 
     <a href="javascript:;" id="linksplode" link_id="12">key words</a> 
 
    </td> 
 
    </tr> 
 
<table>

+0

Arbeitete perfekt. Vielen Dank. – ReeseB

1

Einfach $(this).attr('link_id')

$(document).ready(function(){ 
    $('#mashed_row a').click(function() { 
     alert($(this).attr('link_id')); 
    }); 
}); 
1

Ihr TD keinen link_id Attribut verwenden, Ihre <a> hat. Ich habe ein Beispiel zeigt beide Versionen erstellt:

$(document).ready(function(){ 
 
     $('#mashed_row a').click(function() { 
 
      console.log("TD:", $(this).closest('tr').find('td').attr('link_id')); 
 
      console.log("A:", $(this).closest('tr').find('a').attr('link_id')); 
 
      // or if you really want to get the attribute from the clicked item, it's even easier: 
 
      console.log("direct:", $(this).attr('link_id')); 
 
     }); 
 
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script> 
 
<table> 
 
    <tr id="mashed_row"> 
 
    <td class="linked-title dark unpadded" link_id="link_id_TD"> 
 
     <a href="#" id="linksplode" link_id="link_id_A">Hello</a> 
 
    </td> 
 
    </tr> 
 
</table>

Verwandte Themen