2017-04-04 3 views
2

In Ordnung, also versuche ich den Wert eines TextArea dynamisch von jQuery hinzugefügt. Aber es scheint immer den Standardwert zu bekommen.Jquery bei Klick wird nicht aktualisiert Wert von TextArea

Heres der Code:

jQuery:

$(document).on('click', '.savechanges',function(e){ 
    e.preventDefault() 
    var rowid = $(this).attr('data-id'); 
    var text = $(".textbox-" + rowid).val(); 
    var datum = $("#date").val(); 

    $.ajax({ 
     type : 'post', 
     url : 'php/savechanges.php', //Here you will fetch records 
     data : 'rowid='+ rowid + "&date=" + datum + "&text=" + text,  //Pass $id 
     success : function(data){ 
      alert('Dina ändringar har blivit sparade!'); 
     } 
    }); 
}); 

HTML:

<div class="form-group"> 
    <label for="text">Ändra din text för denna dag</label> 
    <textarea class="form-control textbox-<?php echo $singleRow['id'];?>" name="textruta" id="text">. 
    <?php echo $singleRow['textruta'];?> 
    </textarea> 
</div> 
<button type="button" class="btn btn-block btn-success savechanges" data-dismiss="modal" data-id="<?php echo $singleRow['id'];?>"> 
    Spara ändringar 
</button> 

Also hier das Problem ist, dass die $(".textbox-" + rowid).val() immer den Wert von jQuery und nicht die aktualisierte Version hinzugefügt wird .

Jede Hilfe wäre willkommen.

+0

Scheint gut zu funktionieren -> https://jsfiddle.net/adeneo/nv9pjuuL/ – adeneo

+0

Die Sache ist, die Textarea wird in einer anderen Datei erstellt und auf der Seite mit jquery in einem Bootstrap-modal . Und wenn ich versuche, das Ergebnis auf der Hauptseite zu posten, scheint jquery nicht auf den aktualisierten Inhalt im Textbereich zuzugreifen. –

+0

Auch das gleiche mit der Datumseingabe versucht, aber das wird auch nicht aktualisiert, wenn ich es ändere. –

Antwort

0

Im Datei index.php auf meinem Server erstellen und erstellen Sie diesen Code

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> 
<?php 
$singleRow['id'] = 1; 
$singleRow['textruta'] = "test"; 
?> 
<div class="form-group"> 
    <label for="text">Andra din text for denna dag</label> 
    <textarea class="form-control textbox-<?php echo $singleRow['id'];?>" name="textruta" id="text"><?php echo $singleRow['textruta'];?></textarea> 
</div> 
<input type="text" id="date" value="05/04/2017"/> 
<button type="button" class="btn btn-block btn-success savechanges" data-dismiss="modal" data-id="<?php echo $singleRow['id'];?>"> 
    Spara andringar 
</button> 
<script> 

$(".savechanges").on('click',function(e){ 
    e.preventDefault() 
    var rowid = $(this).data('id'); 
    var text = $(".textbox-" + rowid).val(); 
    var datum = $("#date").val(); 
console.log("start"); 
    $.ajax({ 
     type : 'post', 
     url : '/seo-service/ajax/savechanges.php', //Here you will fetch records 
     data : 'rowid='+ rowid + "&date=" + datum + "&text=" + text,  //Pass $id 
     success : function(data){ 
      console.log(data); 
      alert('Dina andringar har blivit sparade!'); 
     } 
    }); 
}); 

</script> 

nach diesem im schaffen neue Datei "savechanges.php"

<?php 

var_dump($_POST); 

?> 

alles okey. Ich hoffe, dieses Beispiel hilft Ihnen

+0

Funktioniert leider nicht –

+0

Ich denke, Problem auf URL, vielleicht versuchen /php/savechanges.php (Schrägstrich vor "php") –

+0

Das Problem ist nicht auf der Empfangsseite.Es ist ein Problem auf der sendenden Seite. –

Verwandte Themen