2014-07-01 57 views
1

我有这个JavaScript代码,它改变了一个字段的值,并且对HTML输出工作正常。JS变量没有发布

<script> 
var basePrice = 10; 

$(".vars").change(function() { 
newPrice = basePrice; 

$('.vars option:selected').each(function() { 
    newPrice += $(this).data('price') 
}); 

$('#item-price').html(newPrice); 
}); 

</script> 

我也有一个表单数据发布到另一个PHP页面也工作正常,只有#项目价格VAR没有张贴。我几乎可以肯定,我的领域正确地命名如下。

<input type="hidden" name="product_amount" id="item-price" value=""> 

任何人都可以帮忙吗?

回答

1

输入字段不使用的.html()他们使用.VAL()

$('#item-price').val(newPrice); 

此外,您可能要初始化该newPrice变种...

var newPrice = basePrice; 

此外,如布伦特提到,您可能想要使用parseInt()parseFloat()将字符串数据值转换为可用数字。

newPrice += parseFloat($(this).data('price')); 
+0

此外,我认为你需要做的,以实际添加它们,否则将只是做一个字符串连接投给“newPrice + = $(本)。数据(‘价格’)”等多项(虽然我可能是错的)。 –

+0

你说得对。数据值将是一个字符串,所以parseInt将被用来转换整数,或parseFloat小数,如2.95 –

+0

谢谢启,所有这些都做了诀窍:) – user3052324