2012-09-15 7 views
5

Lassen Sie eine Rechnungssumme von einem Plugin auf der Seite generiert werden. Ich möchte seine ID in ein Formularfeld kopieren, um sie vorher ausfüllen zu können.Prefill Formular mit 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, das funktioniert:

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

aber Form nicht:

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

Ich möchte auch, bevor sie kopiert sich in Form der Dollar-Zeichen entfernen.

Ich habe den folgenden Code so weit bei http://jsfiddle.net/yvTNc/24/ auch.

Antwort

1

Sie kopieren ein jquery-Objekt in val(), je nachdem, welches Element es ist, benötigen Sie $('#invoicediv').val() oder .text(). In diesem Fall würden Sie $('#invoicediv').text()

Gefällt Ihnen dieses

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

Wenn ich die erste Instanz von #txtBox greifen muss, was wäre der richtige Weg, dies zu tun? – user1673622

+0

Du nimmst 'txtBox' per ID, also solltest du eigentlich nicht mehr als einen haben! Wenn Sie mehr haben, dann sollten Sie Ihren Selektor in die Klasse oder etwas anderes ändern, wo Sie mehrere haben können. Dann, um die erste zu bekommen, könntest du das tun $ ('. TxtBox: first') ' – hsalama

1

möchte ich Ihren Code aktualisieren und einen Blick

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

ich diese Linie $('#txtBox').val($('#invoicediv'));​ geändert

zu

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

+0

Das funktioniert perfekt - danke für deine Hilfe – user1673622