2012-02-06 2 views
1

i besoin de mettre à jour une certaine ligne de la table, a déjà fait « validateurs » pour assurer 1 modifier la ligne lorsque la case est cochée après avoir cliqué sur un autre bouton, jusqu'à présent je l'ai écrit quelque chose comme:mise à jour d'une ligne de table, jQuery

$("#btnsavechanges").click(function(){ 


    $("#meetingspanel tr td").find(":checked").parent().parent().children)(.eq(0).append(document.getElementById("modsub").value); 
    $("#meetingspanel tr td").find(":checked").parent().parent().children)(.eq(2).append(document.getElementById("modwhere").value); 
    $("#meetingspanel tr td").find(":checked").parent().parent().children)(.eq(3).append(document.getElementById("modwhen").value); 
    $("#meetingspanel tr td").find(":checked").parent().parent().children)(.eq(4).append(document.getElementById("modtime").value); 
    $("#meetingspanel tr td").find(":checked").parent().parent().children)(.eq(5).append(document.getElementById("modwho").value); 
    $("#tblmod").fadeOut("slow"); 


}); 

la table ressemble à ceci:

<table id='tblmod' width='80%' align='center' > 
<tr bgcolor='white'> 
<td width='15%'> 
Enter Subject<input type="text" id="modsubject" width="15%"> 
</td> 
<td width='15%'> 
Enter Location<input type="text" id="modwhere" width="15%"> 
</td> 
<td width='15%'> 
Enter When<input type="text" id="modwhen" width="15%"> 
</td> 
<td width='15%'> 
Enter Time<input type="text" id="modtime" width="15%"> 
</td> 
<td width='15%'> 
Enter With Who<input type="text" id="modwho" width="15%"> 
</td> 
</tr> 
<tr><th align="right" style=border-width:0px><button type="button" id="btnsavechanges" value="Save New Changes" >Save Changes</button></th></tr> 
</table> 
+0

Vous devez expliquer ce que vous avez essayé, quelles erreurs vous trouvez, quelle est réellement votre question, à quoi ressemble votre mise à jour de table html + js. –

+0

Je tente de mettre à jour une ligne dans une table avec des données extraites du tableau suivant. et rien ne se passe.est le problème .. pas d'erreurs de compailer/débogueur .. travailler avec eclipse 4.1. –

Répondre

1

Je vous recommande d'utiliser un cadre de liaison de données. J'utilise knockoutjs récemment et je l'aime. La quantité de code que j'écris pour faire des UI compliquées est beaucoup plus petite quand on utilise Knockout.

Fondamentalement, vous lieriez le HTML en ajoutant simplement une propriété data-bind à l'élément. Ensuite, quand quelqu'un change une valeur, il est immédiatement mis à jour dans votre viewmodel. Si vous insérez de nouvelles données à partir d'une requête AJAX, cela mettra à jour votre interface utilisateur.

Plus d'infos ici: http://knockoutjs.com/

Je suggère fortement qu'il en va vous aider à écrire un code plus propre, plus facile à gérer, et le faire plus rapidement. Vous allez «réinventer la roue» en manipulant tout «manuellement» comme vous le demandez.

+0

Je suis un débutant avec jQuery, donc s'il n'y a pas moyen de le faire en jQuery, allez-y et essayez votre suggestion .. Je veux vraiment rester entre les limites que je mets en ce moment. merci beaucoup cependant. –

+0

@OriGavrielRefael Il est définitivement possible de n'utiliser que jQuery, il sera beaucoup plus difficile de couvrir tous les cas. En revanche, un cadre comme Knockout gère ceux pour vous. Je comprends la réticence à prendre trop de nouvelles choses à la fois, mais, je pense que vous feriez mieux de l'apprendre maintenant. BTW, jQuery et Knockout sont totalement compatibles. Ils sont destinés à résoudre des problèmes très différents. Knockout est une liaison de données, jQuery est une API de niveau inférieur qui gère la manipulation DOM et la conformité entre navigateurs. – Jonathan

+0

fonctionne-t-il avec le framework Eclipse 4.1 ?? –