2012-09-15 12 views
5

Avere una quantità di fattura generata da un plug-in nella pagina. Voglio copiare il suo id in un campo modulo per precompilarlo.Modulo di pre-compilazione con jQuery

<div id="invoicediv">$123.00</div> 

<div id="price"></div> 
<br /> 
<form a`ction="https:/thecart.com" method="post" accept-charset="utf-8"> 

<label>Donation Amount:</label><br> 
$<input id="txtBox" size="3" type="text" name="dollaramount"> 
<input type="hidden" name="name" value="Donation"> 
<input type="submit" value="Donate"> 
</form> 

jQuery che funziona:

$('#price').html($('#invoicediv')); 

ma forma non lo fa:

$('#txtBox').val($('#invoicediv'));​ 

voglio anche per rimuovere il segno di dollaro prima di Si copia la forma.

Ho ancora il seguente codice allo http://jsfiddle.net/yvTNc/24/.

risposta

1

Si sta copiando un oggetto jquery all'interno di val(), è necessario $('#invoicediv').val() o .text() a seconda dell'elemento. In questo caso ci si vuole $('#invoicediv').text()

Ti piace questa

$('#txtBox').val($('#invoicediv').text());​ 
+0

Se ho bisogno di prendere la prima istanza di #txtBox quale sarebbe il modo corretto di farlo? – user1673622

+0

Stai acquisendo 'txtBox' da Id, quindi tecnicamente non dovresti averne più di uno! Se ti ritroverai con più di un altro, dovresti cambiare il selettore in classe o qualcos'altro in cui potresti avere multipli. Quindi per ottenere il primo si può fare questo '$ ('. TxtBox: first')' – hsalama

1

aggiorno il codice e dare un'occhiata

http://jsfiddle.net/yvTNc/25/

Ho cambiato questa linea $('#txtBox').val($('#invoicediv'));​

a

$('#txtBox').val($('#invoicediv').text().replace('$',''));​

+0

Funziona perfettamente - grazie per il vostro aiuto – user1673622