使用jQuery预填表单

6
在页面上由插件生成的发票金额,我想将其ID复制到表单字段中以预先填充它。
<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:

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

但表单不会:
$('#txtBox').val($('#invoicediv'));​

我希望您能在复制到表单之前删除美元符号。
到目前为止,我已经在http://jsfiddle.net/yvTNc/24/上编写了以下代码。
2个回答

3
您正在将一个jquery对象复制到val()中,您需要根据元素类型使用$('#invoicediv').val().text()。在这种情况下,您需要使用$('#invoicediv').text()

像这样:

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

如果我需要获取第一个 #txtBox 实例,正确的方法是什么? - user1673622
你正在通过Id获取txtBox,因此从技术上讲,你不应该有多个!如果最终出现了多个,则应将选择器更改为类或其他可以具有多个的内容。然后,要获取第一个,可以执行以下操作:$('.txtBox:first') - Hazem Salama

1

我更新了你的代码并查看了一下

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

我修改了这行代码:$('#txtBox').val($('#invoicediv')); 改为:

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接