jquery- wie Elementwert zu erkennen, wenn Onclick?
Frage
Wie kann ich den Wert tr in .click Ereignis bringen? Ich möchte in der Lage sein, die tr id in updatedb.php als gut für SQL-Aktualisierung übergeben
Geben Sie
<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
Hallo, Jeditable haben keine Nachfolger. Ich schaffe es schließlich den Wert in global zu bekommen. Aber jetzt vor ein weiteres Problem. Jeditable erlaubt mir nicht, in zusätzlichen Wert zu übergeben ...
Ich habe versucht, editierbar ( 'updatedb.php? test = 123' then echo "START". $ _POST [ 'test']. "END"
Ich habe versucht, auch andere Art und Weise, nicht funktioniert.
Lösung
Sie können die jQuery-Plugin Jeditable zu überprüfen, den Nachfolger bearbeitet werden. Link: http://www.appelsiini.net/projects/jeditable
Zurück zu Ihrer Frage, können Sie die ID des TR-Knoten in Ihrem Beispiel erhalten, indem für das Attribut zu fragen entweder parent (), die am nächsten () oder Eltern (). Ich würde empfehlen, gegen parent (), weil es Sie erwartet, dass die HTML genau wie in Ihrem Beispiel verschachtelt verlassen. Besser zu nutzen Eltern () oder am nächsten () mit einem Filter.
$(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"
});
});
}
Andere Tipps
$(".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);
});