Javascript 使用jquery两次获取一个值
我在jquery中有以下代码:Javascript 使用jquery两次获取一个值,javascript,jquery,forms,Javascript,Jquery,Forms,我在jquery中有以下代码: $("#order_btn").click(function(){ var totalprice = $(".price_amount").text(); $("#totalprice").val(totalprice); }); 当我提交这个带有隐藏值的表单时,我将得到两次总价,如果是200000,我将得到2000000000。为什么? <input type="hidden" value="" name=
$("#order_btn").click(function(){
var totalprice = $(".price_amount").text();
$("#totalprice").val(totalprice);
});
当我提交这个带有隐藏值的表单时,我将得到两次总价,如果是200000,我将得到2000000000。为什么?
<input type="hidden" value="" name="totalprice" id="totalprice">
<input id="order_btn" type="submit" class="submit" name="submit" value="submit">
此处将定义价格金额:
<span class="price_amount">75000</span>
75000
我有两次这个span标记,但我都需要,有没有办法只获取一个值?您确定页面上只有一个元素具有
价格\u金额
类?如果在分配完totalprice
后,在其值上设置断点(或警报),您会得到什么
还有一件事——我不确定这是否重要,但我会将此代码放在表单提交的处理程序中,而不是单击。,因为您有两个
元素,类为“price\u amount”
特别是这一行
var totalprice = $(".price_amount").text();
当您从jQuery集合调用.text()
时,它将聚合所有选定节点的值并返回该值
因此,请确保您只有一个span w/该类名称,或者使选择器更具体/细化,以便只检索所需的节点。您很可能有多个span标记带有类“price\u amount” 尝试使用
var totalprice = $(".price_amount:first").text();
或
如果这样可以工作,请检查代码中是否有多余的span标记
编辑:
应该是现在
编辑2:
如果你的总价格变量应该是你所有的“价格-金额”跨度的总和,考虑如下:
var totalprice = 0;
$.each($('.price_amount'),
function()
{
totalprice += parseInt($(this).text());
});
您确定您有一个类为
price\u amount
的元素吗?如果是这样,为什么不使用id
而不是class
?是的,两个元素具有相同的类名!这很奇怪,您应该能够获取“price\u amount”span标记的值,就像使用$(“.price\u amount”)。get()[0]。text()应该是$(“.price\u amount:first”)。text()
var totalprice = 0;
$.each($('.price_amount'),
function()
{
totalprice += parseInt($(this).text());
});