gpt4 book ai didi

javascript - 使用此 jquery 不显示月份

转载 作者:行者123 更新时间:2023-12-03 06:42:55 25 4
gpt4 key购买 nike

我试图让月份元素显示在以下 html 上,但它显示了错误的数字,我需要显示月份的名称而不是数字。

这是我的 HTML

<div class="card-expiration-date">
<label>Expires</label>
<div></div>
</div>

这是我的 jQuery

$('#card-expiration-month, #card-expiration-year').change(function(){
m = $('#card-expiration-month option').index($('#card-expiration-month option:selected'));
m = (m < 10) ? '0' + m : m;
y = $('#card-expiration-year').val().substr(2,2);
$('.card-expiration-date div').html(m + '/' + y);
})

这是我在 Laravel 5.2 中的代码

<fieldset class="fieldset-expiration">
<label for="card-expiration-month">Expiration date</label>
{{ Form::selectMonth(null, null, ['id' => 'card-expiration-month','data-stripe' => 'exp-month']) }}
{{ Form::selectYear(null, date('Y'), date('Y') + 10, null, ['id' => 'card-expiration-year','data-stripe' => 'exp-year'] ) }}
</fieldset>

最佳答案

我猜测,尽管我不确定,您通过 Laravel 和/或 Stripe 生成的表单元素正在使用基于零的月份索引。

例如:

January = 0
February = 1
March = 2

就获取月份名称而言,您可能需要创建一个数组并使用您拥有的月份索引。也许是这样的?

var month_names = [ 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec' ];
var month_index = $('#card-expiration-month option').index($('#card-expiration-month option:selected'));
var month = month_names[ month_index ];
var year = $('#card-expiration-year').val().substr(2,2);
var expires = month + ' ' + year;

更新

经过评论中的一些讨论,OP 似乎需要调整月份的索引值,以便它代表月份的人类可读数值。

解决方案是将月份的索引值加 1 + 1

m = m + 1;
m = (m < 10) ? '0' + m : m;

关于javascript - 使用此 jquery 不显示月份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37873073/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com