2009-07-10 7 views
2

Wie bringe ich den tr-Wert in .click-Ereignis? Ich möchte die tr id in updatedb.php als gut für SQL in der Lage seinjquery- wie Elementwert bei onclick erkennen?

<head> 
<script src="jquery-1.3.2.min.js" type="text/javascript"></script> 
<script src="jquery.jeditable.mini.js" type="text/javascript"></script> 

<script type="text/javascript"> 

    $(document).ready(function() { 

var global= "" 

$('.click').click(function() { 
    var $this = $(this); 
    var $tr = $this.closest('tr'); 

alert($tr.attr('id')); 
global= $tr.attr('id'); 

}); 


    $('.click').editable('updatedb.php?test=123', { 
     indicator : "<img src='indicator.gif'>", 
     tooltip : "Click to edit...", 
     onblur : 'submit', 
     style : "inherit" 

    }); 


    }); 

</script> 

</head> 
<body>  
    <tr id=1> 
    <td> 
     <span class="click" style="display: inline">Funny click here testing!</span> 
     <br /> 
     </td>  
    </tr> 
    <tr id=2> 
     <td>  
     <span class="click" style="display: inline">Second inline!</span> 
     </td> 
    <tr>  
</body> 
</html> 

hier

haben

Hallo, Jeditable nicht Nachfolger geben Sie die Aktualisierung zu übergeben. Ich schaffe es endlich, den Wert in global zu bringen. Aber jetzt steht vor einem anderen Problem. Jeditable erlaubt mir nicht, in zusätzlichen Wert zu übergeben ...

Ich versuchte editierbar ('updatedb.php? Test = 123' dann echo "START". $ _POST [ 'test']. "END"

ich habe versucht, auch andere Art und Weise, nicht funktioniert

+2

Scheint das html selbst ist sehr seltsam. du hast eine tr, aber ohne td, und du stellst die spanne innen und eine br danach ... ich schlage vor, formatieren sie ihre html richtig zuerst. – xandy

Antwort

4

Sie können das jQuery-Plugin Jeditable zu überprüfen, den Nachfolger editierbare . Link:. http://www.appelsiini.net/projects/jeditable

Zurück zu Ihrer Frage, Sie kann bekommen die ID des TR-Knotens in Ihrem Beispiel, indem Sie nach dem Attribut mit parent(), nest() oder eltern() fragen. Ich empfehle es gegenüber parent(), weil es erwartet, dass Sie den HTML-Code genau wie in Ihrem Beispiel verschachtelt lassen. Lieber Eltern() oder am nächsten() mit einem Filter verwenden.

$(document).ready(function() { 
    $('.click').each(function() { 
     var $this = $(this); 
     var $tr = $this.closest('tr'); 
     // Do stuff with $tr like checking it, extracting $tr.attr('id') ... 
     $this.editable('updatedb.php', { 
      indicator : "", 
      tooltip : "Click to edit...", 
      onblur : 'submit', 
      style : "inherit" 
     }); 
    }); 
} 
4
$(".click").click(function(){ 

alert($(this).text()) // Funny click here testing! or Second inline! (o/p); 
alert($(this).parent().parent().attr("id")) // 1 or 2 (o/p); 

}); 
+0

Wenn Sie 1 oder 2 zurückgeben möchten, sollten Sie verwenden $ (this) .parent(). Parent(). Attr ("id") Ursache ersten Elternteil ist td, und Elternteil davon ist tr, die ID-Wert enthält – RaYell