2017-03-22 2 views
-1

Ich versuche, eine Variable auf den Wert einer Eingabe mithilfe von jQuery festzulegen und dann eine neue Eingabe mit diesem Wert anzufügen. Das Problem besteht darin, dass der Wert doppelte Anführungszeichen enthält, so dass die Ausgabe fehlerhaft ist.Wert erhalten, der doppelte Anführungszeichen enthält

ZB:

<input value="a:1:{s:7:&quot;form&quot;;a:5" /> 
<div class="test"></div> 

jQuery:

$('.test').append('<input type="radio" value="'+ value +'"/>'); 

Ausgang:

<div class="test"><input value="a:1:{s:7:" form";a:5" type="radio"></div> 
+0

Warum nicht '$ ('input') val()'? Welche Version von jQuery benutzt du? –

+0

Es funktioniert für mich: https://fiddle.jshell.net/rkz9p67q/ Sind Sie sicher, dass das Problem nicht woanders ist? – Tacud

+0

Funktioniert gut für mich: https://jsfiddle.net/barmar/shbkh69s/3/ – Barmar

Antwort

0

Das Problem ist, dass Sie verwenden " als die Trennzeichen arount das value Attribut, und dass Charakter ist auch in dem Wert, den Sie dort setzen. Diese eingebetteten Zitate beenden also das Attribut.

Erstellen Sie das Element mithilfe der Objektsyntax und nicht durch Verketten von Zeichenfolgen. Dann müssen Sie sich nicht mit diesen syntaktischen Details befassen.

Sie können auch die .val() Funktion den Wert des Eingangs einzustellen.

$('.test').append($('<input>').val(value)); 
Verwandte Themen