我有一个小表单,我需要jquery在表单提交后清除隐藏的表单值。
以下是我的表单
的摘录<select id='size'>
<option value='4.99'>S</option>
<option value='5.99'>M</option>
<option value='6.99'>L</option>
<option value='7.99'>XL</option>
</select>
<input type="hidden" id="my-item-price" name="my-item-price" value="" />
和更改隐藏字段值的jquery
$(document).ready(function(){
$('#size').change(function() {
var x= $(this).val();
$('#my-item-price').val(x);
});
}
问题是,一旦我提交了表单,我希望从隐藏的输入中删除该值。我希望我必须将值设置为“”,但我该怎么做?
修改
这是指向我网站测试部分的链接
http://www.operationbraveheart.org.uk/jcart/
我想要做的是单击按钮后,它会将隐藏的表单值重置为空,这样当我进行新的选择时,它会再次更改值
以下是jquery的代码。
function clearoption() {
alert('it should work');
$('#my-item-price').attr('value','');
}
$('#size').change(function() {
var x= $(this).val();
$('#my-item-price').val(x);
});
// Add an item to the cart
$('.jcart').submit(function(e) {
add($(this));
clearoption();
e.preventDefault();
});
它正在调用清除#my-item-price的功能,但由于某种原因它没有这样做。如果我选择不同的尺码,它仍会添加原价
答案 0 :(得分:2)
如果您使用Ajax提交表单,那么在成功部分中,您可以使用以下代码
$(' #myform input:hidden').attr('value','');
或
$('#my-item-price').attr('value','');
否则,如果你没有使用ajax提交表单,那么清除隐藏的字段就没有意义。
另外,如果您可以发布链接到您的页面,那将会容易得多!
修改强> 要触发/更新显示价格的
标签的更改,您需要执行以下操作:
$(' #myform input:hidden').attr('value','').trigger('change');
我认为这应该有用