2009-08-03 10 views
1

Ich versuche, den Text eines span-Tags zu bekommen und es zu einem versteckten Feld hinzuzufügen, irgendwelche Ideen, wie das mit jquery möglich ist.Wie bekomme ich den Text eines span-Tags und füge ihn in ein verstecktes Feld ein

dank

<form> 
    <span class="descriptionsPizza">EXTRA CHEESE</span> 
    <input name="textfield1" type="text" id="textfield1" class="valfield" size="2" maxlength="2" value="0" /> 

    <span class="descriptionsPizza">HAM</span> 
    <input name="textfield1" type="text" id="textfield1" class="valfield" size="2" maxlength="2" value="0" /> 

</form> 

so würde Ich mag die extra Käse auf ein verstecktes Feld hinzuzufügen.

+0

Sind Sie sicher, dass das ist, was Sie tun möchten? Wie kommt der Text überhaupt in die Spannweite? Ihr Beispiel zeigt es als hardcoded, also warum nicht einfach in das versteckte Feld hartcodieren? Wenn es dynamisch ist, müssen Sie es dem onClick- oder Change-Ereignis hinzufügen. –

Antwort

1

Schieben Sie die Textelemente in ein Array, und verbinden Sie das Array, um es dem verborgenen Eingang hinzuzufügen. Die folgende Demo fügt den Text mit einem Leerzeichen zwischen den einzelnen Elementen ein, da Sie nicht angeben, warum/wie Sie das Element im Inneren anzeigen möchten. Es gibt jedoch bessere Ansätze. Haben Sie nicht js Kunden berücksichtigt?

var spanText=[]; 

    $('span.descriptionsPizza').each(function(){ 

     var $span = $(this); 
     //is value of the next input greater than 0? 
     if ($span.next().val() > 0){ 
      spanText.push($(this).text()); 
     } 

    }); 


    $('input[name=qty]').val(spanText.join(' ')); 
+0

Entschuldigung, ich habe vergessen zu erwähnen, ich habe mehr als eine .descriptionsPizza wie würde ich in der Lage, das mit mehr Felder zu tun. – amir

+0

Hallo danke für die Antwort, ist es möglich, den Text nur zu bekommen, wenn die Menge dieses Artikels größer als 0 ist. danke – amir

+0

Willst du mich bezahlen, um Ihr Projekt abzuschließen :) – redsquare

1
$("input[name=qty]").val($("span.descriptionPizza")); 
1
$("span.descriptionsPizza").each(function(){ 
    $(this).next("input").val($(this).text()); 
}); 

Dies wird unter der Annahme, der versteckte Eingang wird direkt nach dem span.descriptionsPizza

Verwandte Themen