表格提交错误的选择值

时间:2018-08-27 17:04:44

标签: jquery

我有一个表单,该表单应该提交以下选择值,但是由于某种原因,无论选择了什么,它都只会提交第一个选项值。这是Select HTML:

<select id="product-selectors" name="id" style="display:none">
    <option data-price="2999" value="8643460989043">750 mL
                                                    - $29.99</option>
    <option data-price="4999" value="8643461021811">1000 mL
                                                    - $49.99</option>
    <option data-price="1499" value="8643461054579">250 mL
                                                   - $14.99</option>
    <option data-price="1999" value="8643461087347" selected="selected">350 mL
                                                    - $19.99</option>                                     
</select>

这是处理提交的Jquery:

initProductAddToCart: function() {
            if ($('#product-add-to-cart').length > 0) {
                $('#product-add-to-cart').click(function(event) {
                    event.preventDefault();
                    if ($(this).attr('disabled') != 'disabled') {
                        if (!window.ajax_cart) {
                            $(this).closest('form').submit(); //This is where the form submits
                        } else {
                            var variant_id = $('#add-to-cart-form select[name=id]:selected').val();
                            if (!variant_id) {
                                variant_id = $('#add-to-cart-form input[name=id]').val();
                            }
                            console.log(variant_id);
                            var quantity = $('#add-to-cart-form input[name=quantity]').val();
                            if (!quantity) {
                                quantity = 1;
                            }
                            var title = $('.product-title h2').html();
                            var image = $('#product-featured-image').attr('src');
                            ella.doAjaxAddToCart(variant_id, quantity, title, image);
                        }
                    }
                    return false;
                });
            }
        }

我还要指出,这是来自Shopify液体模板,我自己没有创建任何一个。

更奇怪的是,如果我更改选择选项3次或更少,它将提交正确的值,即提交选择的选项,但是从第四个更改开始,无论选择了什么选项,它只会提交第一个选项。由于Jquery是直接从表单本身提取的,并且表单值在提交时不会更改,因此我看不到这是怎么可能的。据我所知,这是唯一接触表单的Jquery,所以我不知道是什么原因导致了这种故障。

0 个答案:

没有答案