2009-07-10 6 views
2

Comment puis-je apporter la valeur tr dans l'événement .click? Je veux être en mesure de passer l'id tr dans updatedb.php comme bien pour la mise à jour sqljquery- comment détecter la valeur de l'élément quand onclick?

entrer

<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> 

ici

Salut, jeditable n'ont pas successeur. J'ai finalement réussi à obtenir la valeur dans le monde entier. Mais maintenant face à un autre problème. Jeditable ne me permet pas de passer en valeur supplémentaire ...

J'ai essayé modifiable ('updatedb.php? Test = 123' then echo "START". $ _POST [ 'test']. "FIN"

J'ai aussi essayé autrement, ne fonctionne pas

+2

Semble le html lui-même est très étrange. vous avez un tr mais sans td, et vous mettez le span à l'intérieur et un br après cela ... Je vous suggère de formater votre code html correctement en premier. – xandy

Répondre

4

vous pouvez consulter le plugin jQuery jEditable, le successeur modifiable Lien:.. http://www.appelsiini.net/projects/jeditable

Retour à votre question, vous peut obtenir l'ID du noeud TR dans votre exemple en demandant l'attribut en utilisant parent(), nearest() ou parents(). Je recommanderais contre parent() parce qu'il s'attend à ce que vous quittiez le HTML exactement comme dans votre exemple. Mieux vaut utiliser les parents() ou les plus proches() avec un filtre.

$(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

si vous voulez retourner 1 ou 2, vous devez utiliser $ (this) .parent(). Parent(). Attr ("id") car le premier parent est td, et le parent de qui est tr qui contient la valeur de l'id – RaYell

Questions connexes