表单提交后,jquery删除隐藏的表单值

时间:2011-07-14 20:49:53

标签: php jquery shopping-cart

我有一个小表单,我需要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的功能,但由于某种原因它没有这样做。如果我选择不同的尺码,它仍会添加原价

1 个答案:

答案 0 :(得分:2)

如果您使用Ajax提交表单,那么在成功部分中,您可以使用以下代码

 $(' #myform input:hidden').attr('value','');

$('#my-item-price').attr('value','');

否则,如果你没有使用ajax提交表单,那么清除隐藏的字段就没有意义。

另外,如果您可以发布链接到您的页面,那将会容易得多!

修改 要触发/更新显示价格的

标签的更改,您需要执行以下操作:

$(' #myform input:hidden').attr('value','').trigger('change');

我认为这应该有用