2017-09-26 1 views
0

J'essaie de créer un bouton de mise à jour pour mes lignes de tableau. Mes Ajouter Bouton Ouvrir les champs de saisie de formulaire, Mon Masquer Bouton Masquer, Le Modifier Le bouton modifie les champs Table TR.Bouton de mise à jour de la table jquery

Le bouton Envoyer Crée un nouveau TR avec le nouveau texte que j'ai placé dans les champs. Je veux aussi un bouton de mise à jour de côté le soumettre. Quand je modifie un TR Raw et y mettre autre chose. Lorsque je presse la mise à jour pour changer ce texte TR.

Aidez-moi à résoudre ce problème.

Voici mon actuelle HTML/jquery.js Script

<!DOCTYPE html> 
 
<html > 
 
    <head > 
 
<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script> 
 

 
    <title ></title > 
 
    </head > 
 
<body > 
 
<form class="a" action="" method="post" hidden> 
 
    <input type="text" name="nume" id="btd1" value="" > 
 
    <input type="text" name="prenume" id="btd2" value="" > 
 
    <input type="text" name="email" id="btd3" value="" > 
 
    <input type="text" name="telefon" id="btd4" value="" > 
 
    <input type="text" name="parola" id="btd5" value="" > 
 
    <input type="button" id="submit" value="Submit" name="submit" /> 
 
</form > 
 
<table border="2" > 
 
    <tr > 
 
     <td >Vlad</td > 
 
     <td >Andrei</td > 
 
     <td >vTask</td > 
 
     <td >Ceva</td > 
 
     <td >Alceva</td > 
 
     <td class="buttons"> 
 
      <button class="add" >Add</button > 
 
      <button class="hide" >Hide</button > 
 
      <button class="edit" >Edit</button > 
 
     </td > 
 
    </tr > 
 
</table > 
 

 
</body > 
 
</html >
$(document).ready(function() { 
 
    $('#submit').on('click', function() { 
 
     var valid = true, 
 
      message = ''; 
 

 
     $('form input').each(function() { 
 
      var $this = $(this); 
 

 
      if (!$this.val()) { 
 
       var inputName = $this.attr('name'); 
 
       valid = false; 
 
       message += 'Please enter your ' + inputName + '\n'; 
 
      } 
 
     }); 
 

 
     if (!valid) { 
 
      alert(message); 
 
     } else { 
 
      $('table').append('' + 
 
       '<tr>' + 
 
       '<td>' + $('#btd1').val() + '</td>' + 
 
       '<td>' + $('#btd2').val() + '</td>' + 
 
       '<td>' + $('#btd3').val() + '</td>' + 
 
       '<td>' + $('#btd4').val() + '</td>' + 
 
       '<td>' + $('#btd5').val() + '</td>' + 
 
       '<td class="buttons" style="vertical-align: top"><button class="add" >Add</button><button class="hide" >Hide</button><button class="edit">Edit</button></td >'+ 
 
       '</tr>' + 
 
       ''); 
 
      for(var x = 1; x < $('input').length; x++) { 
 
       $('#btd' + x).val(''); 
 
      } 
 
     } 
 
    }); 
 

 
    $("body").on('click','.hide',function() { 
 
     $("form").hide(); 
 
    }); 
 
    $("body").on('click','.add',function() { 
 
     $("form").show(); 
 
    }); 
 

 
    $("body").on('click','.edit',function() { 
 
     $("form").show(); 
 
     $.each($(this).closest('tr').find('td:not(".buttons")'), function (key, val) { 
 
      $("form input[type=text]").eq(key).val($(val).text()); 
 
     }) 
 
    }); 
 

 
    $("#show").click(function() { 
 
     //$("form").show(); 
 
     //$("#btd1").val("Vlad"); 
 
     //$("#btd2").val("Andrei"); 
 
     //$("#btd3").val("vTask"); 
 
     // $("#btd4").val("Ceva"); 
 
     //$("#btd5").val("Alceva"); 
 
    }); 
 
});

Répondre

0

Vérifiez ce code

Pourquoi ne vous ajoutez d'autres champs pour enregistrer et modifier

<!DOCTYPE html> 
<html > 
    <head > 
<script src="https://code.jquery.com/jquery-3.1.0.js"></script> 


    <title ></title > 
    </head > 
<body > 
<form class="a" action="" method="post" hidden> 
    <input type="text" name="nume" id="btd1" value="" > 
    <input type="text" name="prenume" id="btd2" value="" > 
    <input type="text" name="email" id="btd3" value="" > 
    <input type="text" name="telefon" id="btd4" value="" > 
    <input type="text" name="parola" id="btd5" value="" > 
    <input type="button" id="submit" value="Submit" name="submit" /> 
    <input type="button" id="save" value="Save" style="display:none;" name="save" /> 
</form > 
<table border="2" > 
    <tr> 
     <td >Vlad</td > 
     <td >Andrei</td > 
     <td >vTask</td > 
     <td >Ceva</td > 
     <td >Alceva</td > 
     <td class="buttons"> 
      <button class="add">Add</button > 
      <button class="hide">Hide</button > 
     </td > 
    </tr > 
</table > 

</body > 
</html > 

Code JavaScript

$(document).ready(function(){ 
    $(".add").on("click",function(){ 
    $(".a").show(); 
    }); 
    $(".hide").on("click",function(){ 
    $(".a").hide(); 
    }); 
    $(document).on("click",".editEle",function(){ 
    row = $(this).parents("tr") 
    var field1 = row.find("td:nth-child(1)").html(); 
    var field2 = row.find("td:nth-child(2)").html(); 
    var field3 = row.find("td:nth-child(3)").html(); 
    var field4 = row.find("td:nth-child(4)").html(); 
    var field5 = row.find("td:nth-child(5)").html(); 

    update(field1,field2,field3,field4,field5); 

    }); 

    var update = function(field1,field2,field3,field4,field5){ 
    $("#btd1").val(field1); 
    $("#btd2").val(field2); 
    $("#btd3").val(field3); 
    $("#btd4").val(field4); 
    $("#btd5").val(field5); 
    $("#submit").hide(); 
    $("#save").show(); 
    }; 

    $("#save").on("click",function(){ 
    var val1 = $("#btd1").val(); 
    var val2 = $("#btd2").val(); 
    var val3 = $("#btd3").val(); 
    var val4 = $("#btd4").val(); 
    var val5 = $("#btd5").val(); 
    row.find("td:nth-child(1)").html(val1); 
    row.find("td:nth-child(2)").html(val2); 
    row.find("td:nth-child(3)").html(val3); 
    row.find("td:nth-child(4)").html(val4); 
    row.find("td:nth-child(5)").html(val5); 

    }); 


    $("#submit").on("click",function(){ 
    var val1 = $("#btd1").val(); 
    var val2 = $("#btd2").val(); 
    var val3 = $("#btd3").val(); 
    var val4 = $("#btd4").val(); 
    var val5 = $("#btd5").val(); 
    var ele = "<tr><td>"+val1+"</td><td>"+val2+"</td><td>"+val3+"</td><td>"+val4+"</td><td>"+val5+"</td><td><button class='editEle'>Edit</button></tr>"; 
    $("table").append(ele); 

    }); 



}); 
+0

Eh bien Noushad Ali, ce que je veux qu'il fasse maintenant, c'est quand j'appuie sur Editer sur n'importe quel brut. actuellement que brut est envoyé dans les champs de saisie de formulaire. Je veux écrire autre chose là-bas et puis appuyer sur un bouton de mise à jour pour changer l'information dans ce TR. Je suis chauve à expliquer. – Andrei224231

+0

En bref, ce que je veux faire est d'écrire quelque chose aujourd'hui et peut-être dans une semaine les données dans ce TR va changer et je dois l'éditer pas l'ajouter en bas. J'ai besoin d'un bouton Mettre à jour à côté du bouton de soumission – Andrei224231

+0

Je veux exactement ce que vous avez fait avec le bouton Modifier + Mise à jour mais le bouton Modifier pour lancer le texte dans les champs de saisie du formulaire comme dans mon code et le bouton de sauvegarde pour les enregistrer – Andrei224231