【问题标题】:How do I assign the value of input to my url parameter in jQuery?如何在 jQuery 中将输入值分配给我的 url 参数?
【发布时间】:2018-07-09 13:47:45
【问题描述】:

我正在使用 ajax 链接在 WordPress 中将产品添加到购物车。我可以使用以下代码添加没有extra product options 的产品:

<a rel="nofollow" href="/?add-to-cart=11" data-quantity="1" data-product_id="11" data-product_sku="" class="add_to_cart_button ajax_add_to_cart">Add to cart</a>

但我正在开发的网站使用了一个名为 extra product options 的插件,该插件在将商品添加到购物车之前添加了复选框或日期(预订目的)等选项

只要我提供 namevalue 属性插件生成的,我就可以使用 ajax 链接将产品添加到购物车/strong> 到网址。看看下面的复选框示例:

插件提供的Html Checkbox:

<input class="tmcp-field" name="tmcp_checkbox_0_0" value="_0" type="checkbox">

如果我创建这样的链接,我可以使用额外产品选项及其复选框选中提供的名称和值将产品添加到购物车:

<a rel="nofollow" href="/?add-to-cart=11&tmcp_checkbox_0_0=_0" data-quantity="1" data-product_id="11" data-product_sku="" class="add_to_cart_button ajax_add_to_cart">Add to cart</a>

在我的情况下,我使用日期选择器来设置产品的预订日期。日期选择器的 html 是:&lt;input type="text" class="tmcp-field" id="tmcp_date_1" value="" name="tmcp_date_0"&gt;

datepicker html 的值始终是 value="" 即使我已经为它选择了一个日期,这与复选框中已经有一个选中或未选中的值不同。

我正在考虑获取日期选择器的值,然后在使用 jquery 选择日期时将其传递给变量

$( "#epo-build-datepicker" ).datepicker({


    onSelect: function() {
        var dateObject = $(this).datepicker('getDate');
        console.log(dateObject);

        var paramValue = $(this).val();
        console.log("Date value is:" + paramValue);

    }

});

你知道如何将所选日期的值传递给我的 url 参数 &tmcp_date_0 ???

<a rel="nofollow" href="/?add-to-cart=11&tmcp_date_0=VALUEOF#epo-build-datepicker" data-quantity="1" data-product_id="11" data-product_sku="" class="add_to_cart_button ajax_add_to_cart epo-build-cart-url-param">Add to cart</a>

【问题讨论】:

    标签: javascript php jquery html wordpress


    【解决方案1】:

    用 jquery 添加 paramValue

    <a rel="nofollow" href="/?add-to-cart=11" data-quantity="1" data-product_id="11" data-product_sku="" class="add_to_cart_button ajax_add_to_cart epo-build-cart-url-param">Add to cart</a>
    
    $('a.add_to_cart_button').on('click', function(e){
      e.preventDefault();
      var val = $(this).attr('href');
      console.log(val)
    })
    
    $( "#epo-build-datepicker" ).datepicker({
    
    
        onSelect: function() {
            var dateObject = $(this).datepicker('getDate');
            console.log(dateObject);
    
            var paramValue = $(this).val();
            var _href = $('a.add_to_cart_button').attr('href');
            _href = _href+'&tmcp_date_0'+paramValue;
            $('a.add_to_cart_button').attr('href', _href);
    
    
        }
    
    });
    

    【讨论】:

      【解决方案2】:
      //get href value of link
      var uri = $(".add_to_cart_button").attr('href');
      
      //assign new param
      uri = uri + "&tmcp_date_0="+paramValue;
      
      //assign new uri to a tag
      $(".add_to_cart_button").prop("href", uri);
      

      【讨论】:

      • 虽然此代码 sn-p 可能是解决方案,但 including an explanation 确实有助于提高您的帖子质量。请记住,您是在为将来的读者回答问题,而这些人可能不知道您提出代码建议的原因。
      猜你喜欢
      • 2017-05-17
      • 2017-03-01
      • 1970-01-01
      • 2023-04-03
      • 1970-01-01
      • 2022-12-05
      • 2015-04-19
      • 2013-11-20
      • 2020-04-05
      相关资源
      最近更新 更多