我的表单很小,提交表单后需要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);
});
}
问题是,一旦我提交了表单,我希望从隐藏的输入中删除该值。我希望我必须将值设置为""
,但是我该怎么做?
编辑-:
这里是我网站测试部分的link
我想做的是一旦单击按钮,它将隐藏的表单值重置为空,所以当我进行新选择时,它将再次更改值
这里是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
的函数,但由于某种原因,它没有这样做。如果我选择其他尺寸,它仍会添加原始价格
如果您正在使用Ajax提交表单,那么在成功部分中,您可以使用以下代码
$(' #myform input:hidden').attr('value','');
或
$('#my-item-price').attr('value','');
否则,如果您不使用Ajax提交表单,则清除隐藏的字段将无济于事。
而且,如果您可以将链接发布到您的页面,将会容易得多!
编辑:要触发/更新对显示价格的
标签的更改,您需要执行以下操作:
$(' #myform input:hidden').attr('value','').trigger('change');
我认为这应该起作用