更改值datepicker

时间:2013-10-05 08:29:49

标签: jquery datepicker

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

因此,当他们选择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>

1 个答案:

答案 0 :(得分: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部分,如果您想要在实际将其放入月份字段之前,您将能够进行更多计算