无法获取onChange以使用Datepicker在Javascript中触发

时间:2018-08-17 10:35:01

标签: javascript jquery

所以我正在使用air-datepicker(http://t1m0n.name/air-datepicker/docs/) 选择一个月,例如预设为01/03/2018,它使用altmethod填充我输入中名为startdate2的隐藏字段。

我要用startdate2 + 2个月更新enddate2。我尝试使用onChange和一些其他方法,但似乎没有任何效果。

<input type="hidden" name="startdate" id="startdate2" value="" class="inputdate" onChange="getDateAhead()" >
<input type="hidden" name="enddate" id="enddate2" value="" class="outputdate" >

<script>
function getDateAhead()
{
    var start = document.getElementById('startdate2').value;
    var end = start.setMonth(start.getMonth()+2);
    document.getElementById('enddate2').value = end;
}
</script>

似乎无法使其正常工作?

1 个答案:

答案 0 :(得分:1)

请检查文档(http://t1m0n.name/air-datepicker/docs/)中使用的日期选择器。您的关注功能是onSelect。

var eventDates = [1, 10, 12, 22],
    $picker = $('#custom-cells'),
    $content = $('#custom-cells-events'),
    sentences = [ … ];

$picker.datepicker({
    language: 'en',
    onRenderCell: function (date, cellType) {
        var currentDate = date.getDate();
        // Add extra element, if `eventDates` contains `currentDate`
        if (cellType == 'day' && eventDates.indexOf(currentDate) != -1) {
            return {
                html: currentDate + '<span class="dp-note"></span>'
            }
        }
    },
    onSelect: function onSelect(fd, date) {
        var title = '', content = ''
        // If date with event is selected, show it
        if (date && eventDates.indexOf(date.getDate()) != -1) {
            title = fd;
            content = sentences[Math.floor(Math.random() * eventDates.length)];
        }
        $('strong', $content).html(title)
        $('p', $content).html(content)
    }
})