使条带“数据量”使用带变量的动态

我需要让我的脚本结帐使用我的var $priceCheckout = $('#priceCheckout'); 结账价格。

我试图用data-amount= $priceCheckout;替换data-amount =“2000” data-amount= $priceCheckout; 没有运气。 所以要清楚!

它需要我的$ priceCheckout并将其置于数据量的placede,以便$ priceCheckout的价值将是结账价格!

 

这是我的脚本。

 $(function () { // Store references to frequently used elements - for speed. var $divFrom = $('#division-from'); var $divTo = $('#division-to'); var $tierFrom = $('#tier-from'); var $tierTo = $('#tier-to'); var $price = $('#price'); var $priceCheckout = $('#priceCheckout'); // Select price calculation callback $(document).on('change', '.price-modifier', function () { var divFrom = $divFrom.val(); var divTo = $divTo.val(); var tierFrom = $tierFrom.val(); var tierTo = $tierTo.val(); // Error handling var errors = validatePriceModifiers(divFrom, tierFrom, divTo, tierTo); if (errors.length === 0) { // No errors var price = getPrice(divFrom, tierFrom, divTo, tierTo); $price.html(price + ' €' + '

' + ''); $priceCheckout.html(price); } else { // Display errors $price.empty(); for (var i = 0; i < errors.length; i++) { $price.append($('

').html(errors[i].message)); } } }); });

您需要使用Checkout 自定义集成 。

这是一个简单的小提示,显示如何使用用户指定数量的Checkout: https : //jsfiddle.net/ywain/g2ufa8xr/

您可以使用相同的逻辑插入自己的值作为对handler.open()的调用中的amount参数。

这里的关键是data-amount是HTML脚本标记的属性。 它不是 JavaScript变量,您不能在HTML标记中直接为其分配一个(如 )。

但是,您可以使用JavaScript为其分配值,如下所示:

 $('.stripe-button').attr('data-amount', $priceCheckout); 

该代码将使用类stripe-button将任何HTMl元素的属性data-amount更改为代码运行时变量$priceCheckout具有的值。

那么你想什么时候运行呢? 您需要在$priceCheckout设置为变量后运行它(如果价格发生变化,您需要再次运行它以进行更新)。 但是您需要在使用该值运行的任何代码之前运行它。

您可以使用Stripe的自定义结账。 虽然,我发现通过jQuery更容易实现这一点,只需每次增加数量时使用更改的变量重新编写脚本:

 var $priceCheckout = $('#priceCheckout'); $("#stripe-form").html( '' );