我有这段代码:
<div class="cc-selector col-md-3">
<form method="POST" action="<?php echo base_url() . 'home/cart_finish/go'; ?>" class="checkout-form">
<input type="hidden" name="payment_type" value="omise">
<script src="https://cdn.omise.co/omise.js.gz"
data-key="<?php echo $omise_public_key_test; ?>"
data-image=" "
data-frame-label="Acme"
data-button-label="<?php echo translate('pay_now');?>"
data-submit-label="<?php echo translate('submit');?>"
data-location="no"
data-amount=" "
data-currency="us"
>
var total = $('#grand').html();
$("[data-amount]").attr('data-amount', total);
</script>
</form>
我想为“data-amount”属性设置一个值。我尝试使用上面的代码,但它不起作用。
注意:Omise是类似于Stripe的支付网关。该代码将呈现一个付费按钮。我必须在渲染之前设置数据量。这就是为什么我不能等待$文件准备好了。我希望这是有道理的。
答案 0 :(得分:1)
将<script>
元素附加到document
,但不包含src
属性。在单独的<script>
元素中选择script
元素并设置data-amount
属性,并将src
属性设置为资源路径。
<script id="script"
data-key="<?php echo $omise_public_key_test; ?>"
data-image=" "
data-frame-label="Acme"
data-button-label="<?php echo translate('pay_now');?>"
data-submit-label="<?php echo translate('submit');?>"
data-location="no"
data-amount=" "
data-currency="us"
>
</script>
<script>
var total = $('#grand').html();
$("#script[data-amount]")
.attr({
"data-amount": total,
"src":"https://cdn.omise.co/omise.js.gz"
});
</script>
</form>
答案 1 :(得分:0)
一切事,
如果你想操纵脚本标签,你不能从内部做到这一点(据我的经验所示)。
在脚本标记存在(加载)之前,您无法编辑脚本标记。
$(function(){
// Button configure will merged and override with default configure.
// And has effect with this button only.
OmiseCard.configureButton('button[data-frame-label="Acme"]', {
amount: 30.95,
currency: 'thb',
image: 'YOUR_LOGO_URL',
frameLabel: 'Merchant name',
frameDescription: 'Merchant description',
submitLabel: 'Pay $30.95',
buttonLabel: 'Pay with Omise',
location: 'no',
billingName: '',
billingAddress: '',
submitFormTarget: null,
});
OmiseCard.attach();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="cc-selector col-md-3">
<form method="POST" action="<?php echo base_url() . 'home/cart_finish/go'; ?>" class="checkout-form">
<input type="hidden" name="payment_type" value="omise">
<script src="https://cdn.omise.co/omise.js.gz"
data-key="Something"
data-image=" "
data-frame-label="Acme"
data-button-label="Button"
data-submit-label="Button"
data-location="no"
data-amount=" "
data-currency="us"
>
</script>
</form>