2012-09-15 30 views
5

Có số hóa đơn được tạo bởi plugin trên trang. Tôi muốn sao chép id của nó vào một trường biểu mẫu để điền trước nó.Mẫu điền sẵn với 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 hoạt động:

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

nhưng hình thức không:

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

Tôi cũng muốn loại bỏ các ký hiệu đô la trước khi nó tự nhân bản vào biểu mẫu.

Tôi có mã sau cho đến nay tại http://jsfiddle.net/yvTNc/24/.

Trả lời

1

Bạn đang sao chép đối tượng jquery bên trong val(), bạn cần $('#invoicediv').val() hoặc .text() tùy thuộc vào yếu tố của nó. Trong trường hợp này bạn muốn $('#invoicediv').text()

Như thế này

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

Nếu tôi cần lấy trường hợp đầu tiên của #txtBox thì cách nào đúng để thực hiện việc này? – user1673622

+0

Bạn đang lấy 'txtBox' theo Id, vì vậy về mặt kỹ thuật bạn không được phép có nhiều hơn một! Nếu bạn kết thúc với nhiều hơn thì bạn nên thay đổi bộ chọn của bạn thành lớp hoặc cái gì khác mà bạn có thể có bội số. Sau đó, để có được một trong những đầu tiên bạn có thể làm điều này '$ ('. TxtBox: first')' – hsalama

1

tôi cập nhật mã của bạn và hãy xem

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

tôi đã thay đổi dòng này $('#txtBox').val($('#invoicediv'));​

để

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

+0

Điều này hoạt động hoàn hảo - cảm ơn sự giúp đỡ của bạn – user1673622

Các vấn đề liên quan