-2

是否可以更改所选数据的值?

因此,当他们选择 10 月时,它将提交 value="10" 但必须更改为 value="9"。

这可能吗?

我正在使用以下代码:

    <script type='text/javascript'> 
$(window).load(function(){
$(".date_year").datepicker({
    showOn: 'button',
    //buttonImage: "calendar_icon.png", 
    buttonText: 'Cal',
    buttonImageOnly: false,
    showAnim: 'fadeIn',
    dateFormat: 'dd/mm/yy',



    onClose: function (dateText, picker) {
        dateArr = dateText.split('/');
        $(this).siblings('.date_month').val(dateArr[1]);
        $(this).siblings('.date_day').val(dateArr[0]);
        $(this).val(dateArr[2]);
    }
});
});>  
</script>

我的html是:

    <div class="date-picker">
    <label for="preferredDate">Arrival</label>
    <input type="text" class="date_day" name="day_a" />/
    <input type="text" class="date_month" name="month_a" />/
    <input type="text" class="date_year" name="year_a" />
</div>
<div class="date-picker">
    <label for="preferredDate">Departure</label>
    <input type="text" class="date_day" name="day_d" />/
    <input type="text" class="date_month" name="month_d" />/
    <input type="text" class="date_year" name="year_d"/>
</div>
4

1 回答 1

1

您已经在使用一个功能来修改用户完成选择的日期,我不确定您是自己写的还是从某个地方得到的,但让我解释一下:

// when the user is done picking the date, this function runs
onClose: function (dateText, picker) {
    //the date is split into day, month year (by taking the pieces between /'s)
    dateArr = dateText.split('/');

    // the second part of the split date string is the month, put it in the .date_month box
    $(this).siblings('.date_month').val(dateArr[1]);

    // same with the day and year respectively
    $(this).siblings('.date_day').val(dateArr[0]);
    $(this).val(dateArr[2]);
}

在您将日期放入框中的位置,您可以添加一些额外的脚本。将设置.date_month值的行替换为:

var month = dateArr[1];
var newMonth = month - 1; //or whatever changes you want to make to the month
$(this).siblings('.date_month').val(newMonth);

当然,您可以通过简短的方式做到这一点:

    $(this).siblings('.date_month').val(newMonth - 1);

我将其拆分以更清楚地显示发生了什么,并且还应该看到,newMonth如果您愿意,您可以在将其实际放入月份字段之前进行更多计算。

于 2013-10-05T08:51:05.510 回答