我想根据所选值更改日期
$(document).on('change', '.payment_options', function () {
var value = $('#value_select').val();
var data = $('#per_month_year').val();
var d = new Date();
d.setMonth(d.getMonth() + value);
var subs_till = d.toDateString();
if (data == 'month') {
expire_date = subs_till;
} else {
//if data == year, change the membership valid till the value enter: like 2 years, 3 years etc
}
$('#membership_till_date').html(expire_date);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<label>Choose Value</label>
<select name="" class="form-control payment_options" id="value_select">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
</select>
<label>Choose month/year</label>
<select name="" class="form-control payment_options" id="per_month_year">
<option value="month">Month(s)</option>
<option value="year">Year(s)</option>
</select>
<br>
<small>Membership valid from 'Today' to <span id="membership_till_date">"this have to change after choosing value/month-year"</span></small>
但是问题是它给了结果+5 year
,我想准确地显示数据,如果他们选择值数据,则显示“现在到+5个月的格式”,“现在到2年的格式” ,等等。在会员有效部分中
答案 0 :(得分:2)
当您获得文本字段的值时,总会得到一个字符串。
例如,如果您在value_select字段中选择数字2,则您的代码将返回字符串值“ 2”。
var value = $('#value_select').val();
因此您需要将String值转换为整数,您可以像这样进行操作:
var value = parseInt($('#value_select').val());
您的代码即可正常工作