2017-06-29 2 views
0

Ich habe folgenden AJAX-Code, der etwas mit Klasse „percentreplacer“ mit den Daten in der „Prozent“ Spalte der MYSQL-Datenbank ersetzt:Warum ersetzt AJAX meine Variable nur an einigen Stellen?

<script type='text/javascript'> 
$(document).ready(function() { 
    $('#functionsquestionform2').on('submit', function(e) { 
     e.preventDefault(); 
     $.ajax({ 
      url : "aplaygroundajaxtest.php", 
      type: "POST", 
      data: $(this).serialize(), 
      success: function (data) { 
$(".percentreplace").text(data.percent); 
      }, 
      }); 
     }); 
}); 
</script> 

In einem anderen Teil meines Skripts, habe ich dieses Snippet PHP-Code:

<?php echo '<span class="percentreplace">'.$data['FunctionsPercent'].'</span>'; ?> 

Wenn ich den Code ausführen, der AJAX-Code an der Spitze ersetzt erfolgreich die oben Spanne mit dem Wert Prozent in der Datenbank gespeichert ist (wie zB „6“).

Später in meinem Code, ich versuche, dieses Prozent als Variable mit dem JQuery-Skript unten zu setzen:

<script type='text/javascript'> 
$(function(){  
var carouselbutton1percentage='<?php echo '<span class="percentreplace">'.$data['FunctionsPercent'].'</span>'; ?>' ....[cont'd] 

Hier aber statt mit dem Prozent des gesamten PHP-Schnipsel zu ersetzen (lassen Sie sich sagen 6), setzt er die Variable carouselbutton1percentage gleich <span class="percentreplace">6</span> Ich möchte die Tags hier genauso wie sie in der ehemaligen entkleidet werden. Ich vermute, das hat etwas mit den Zitaten zu tun, aber ich habe ziemlich viel damit herumgespielt und ich kann nicht herausfinden, was ich ändern soll.

Jede Hilfe würde sehr geschätzt werden!

Danke

+0

Die Variable wird auf den HTML-Code gesetzt, weil Sie so den Code geschrieben haben. Entfernen Sie einfach die Span-Tags aus dem zweiten Beispiel. – NieDzejkob

+0

... aber dann aktualisiert AJAX die Variable nicht, wenn mein Formular gesendet wird – Snoops

+0

Wird ein Fehler angezeigt? – lumio

Antwort

0

Ich könnte etwas fehlen. Aber anstatt eine Zeichenfolge zu speichern, die Zeichen enthält, die wie PHP und jquery aussehen, würde ich denken, dass Sie dieses HTML-Element tatsächlich aktualisieren möchten, wie Sie es im AJAX-Antwortblock tun. Also ..

$ (". Prozentwert"). Text ('6');

oder

var carouselbutton1percentage = 6;

$ (". Percentreplace"). Text (karussellbutton1prozent);

Aber wieder, vielleicht bin ich ein Missverständnis.

+0

Danke für Ihre Antwort @ louisik1. Das Problem ist, dass ich nicht immer möchte, dass der Prozentwert 6 ist. Ich möchte, dass AJAX alles durch "class = percentereplace" mit dem Wert ersetzt, der in der Spalte "prozent" meiner Datenbank gespeichert ist. – Snoops

+0

.... Serverantwort = x .... var y = x.toFixed (2) + '%'; $ ('. Prozentwert'). Text (y); so? – louisik1

+0

Ich bin mir nicht sicher, @ louisik1; das sieht ganz anders aus als alles, was ich habe. Um meine Frage vielleicht besser zu formulieren: wenn ich ''. $ Data ['FunctionsPercent']. ' '; ?> 'an der Spitze meines Codes, gibt es eine einfache' 8' zurück. Wenn ich genau diesen gleichen Code nehme und ihn als Variable abspeichere: 'var karusselbutton1percentage = ' '. $ Data [' FunctionsPercent '].' '; ?> '' es gibt 'var zurück karusselbutton1percentage = ' 8'' Die 'span' Tags bleiben in letzterem aber nicht in ersterem. – Snoops

0

Ich denke, Sie müssen Ihre Zeichenfolge richtig entkommen?

var carouselbutton1percentage='<?php echo \'<span class="percentreplace">\'.$data[\'FunctionsPercent\'].\'</span>\'‌​; ?>'; 
+0

Ich vermute, dass dies der richtige Track ist, aber es gibt mir jetzt einen 500 (Interner Serverfehler) ' – Snoops

Verwandte Themen