【问题标题】:Prefill form with jQuery使用 jQuery 预填充表单
【发布时间】:2012-09-08 11:37:06
【问题描述】:

有一个由页面上的插件生成的发票金额。我想将其 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/ 也有以下代码。

【问题讨论】:

    标签: jquery forms copying


    【解决方案1】:

    我更新你的代码看看

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

    我改了这条线$('#txtBox').val($('#invoicediv'));​

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

    【讨论】:

      【解决方案2】:

      您在 val() 中复制一个 jquery 对象,您需要 $('#invoicediv').val().text() 取决于它是什么元素。在这种情况下,您需要$('#invoicediv').text()

      像这样

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

      【讨论】:

      • 如果我需要获取#txtBox 的第一个实例,正确的做法是什么?
      • 你正在通过 ID 获取txtBox,所以从技术上讲,你不应该拥有多个!如果你最终得到更多,那么你应该将你的选择器更改为 class 或其他可能有多个的地方。然后要获得第一个,您可以这样做$('.txtBox:first')
      猜你喜欢
      • 2013-05-23
      • 1970-01-01
      • 1970-01-01
      • 2012-07-20
      • 2017-01-23
      • 2013-04-01
      • 2019-03-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多