2017-03-01 3 views
0

ich benutze .val() -Funktion in jquery, um Wert aus Textfeld zu buchen. wenn ich alarmieren i ganze Reihe sehen .aber wenn sie auf einer Textbox nur Daten, bevor Raum setzen wird coming.anybody dieses Problem wissen, helfen Sie bitte mein Code hiernicht vollen Wert für Textbox mit jquery

$('#add_input').click(function(){ 
var item = $('input[id="itemname"]').val(); 
i++; 
$('#dynamic1').append('<tr id="row'+i+'">\n\ 
<><td> <input type="text" name="serial_id" id="serial" value='+i+' ></td>\n\ 
<td><input type="text" name="item1[]" value='+item+'></td></tr>'); 

in Artikel texbox teilen bin nur erste Teil des Erhaltens eingegebener Wert.

+0

Änderung 'value =‚+ Artikel +‘' auf 'value ="‘ + item + '"' – guradio

+0

@guradio danke so sehr lieb. es funktionierte. einfache Anführungszeichen nimmt nur den ersten Teil? – user7441072

+0

Hinzufügen von '" "' mit concat die Zeichenfolge richtig nimmt es als gesamte Zeichenfolge. froh zu helfen, Happing Coding zu koppeln :) – guradio

Antwort

2

Nehmen wir an, item hat die Zeichenfolge hello drin.

Sie haben:

'... value='+item+'...' 

Wenn verketteten, wird es:

value=hello 

Dies ist nicht die richtige HTML-Syntax. hello Bedürfnisse werden durch Anführungszeichen umgeben:

value="hello" 

Dies bedeutet, müssen Sie Ihren Code ändern:

'... value="'+item+'"...' 
// --------^--------^---- 

In HTML5, Zitate sind optional für Werte, die Sonderzeichen oder Leerzeichen nicht enthalten. Wenn dies der Fall ist, werden jedoch Anführungszeichen benötigt, um zu bestimmen, wo der Wert beginnt und endet. Weitere Informationen finden Sie unter this.

+0

@Hristiyhan Vielen Dank für die ausführliche Antwort. Guardio gab Lösung als Kommentar zuerst – user7441072

1

Das Problem ist hier

value='+item+' 

In Ihrem Fall ' verwendet wurde, wo beginnt die Zeichenfolge zu bezeichnen und wo es endet. " wurde verwendet, um anzugeben, wo der HTML-Wert beginnt und wo er endet. Der Code wurde nur angeben, dass item in den String kommt dynamisch, aber es hat nicht angegeben, dass es sich um einen HTML-Wert ist, so ist die Lösung

value="'+item+'" 
+0

danke für die Antwort – user7441072

Verwandte Themen