2个函数onselect不起作用

时间:2014-11-13 18:14:15

标签: jquery

尝试将2个函数添加到onselect但不起作用。

$("#ArrivalDate").datepicker({
    inline: true,
    dateFormat: 'yy-mm-dd',
    minDate: 0,
    onSelect: function (dateText) {
        var objDate = new Date(dateText);
        $('#checkinYear').val(dateText.length ? objDate.getFullYear() : '');
        $('#checkinMonth').val(dateText.length ? objDate.getMonth() + 1 : '');
        $('#checkinDay').val(dateText.length ? objDate.getDate() : '');
    }
    function (selectedDate) {
        $("#DepartureDate").datepicker("option", "minDate", selectedDate);
    } 
});

3 个答案:

答案 0 :(得分:1)

你不能随便在任何地方拍一个额外的函数定义。如果你想要两个函数来执行onselect,那么你必须使用 ONE 函数来调用你的两个函数:

onselect: function() {
     function1();
     function2();
}

答案 1 :(得分:0)

为什么你希望这个工作?函数之间甚至没有任何分隔符,语法分析器无法“知道你的意思”。

onSelect期待一个功能。如果该函数需要执行两个操作,请在函数中执行它们:

onSelect: function (dateText) {
    var objDate = new Date(dateText);
    $('#checkinYear').val(dateText.length ? objDate.getFullYear() : '');
    $('#checkinMonth').val(dateText.length ? objDate.getMonth() + 1 : '');
    $('#checkinDay').val(dateText.length ? objDate.getDate() : '');

    $("#DepartureDate").datepicker("option", "minDate", dateText);
}

如果这些函数已在其他地方定义并需要重新使用,只需在匿名函数中调用它们:

onSelect: function (dateText) {
    firstOperation(dateText);
    secondOperation(dateText);
}

答案 2 :(得分:0)

您尝试使用它的方式无法工作。我的建议是再次查看你的设计,如果这是需要完成的事情,那么你必须处理你的语法。

您可能想要使用匿名函数。所以如果我拿你的例子它应该是像

$("#ArrivalDate").datepicker({
inline: true,
dateFormat: 'yy-mm-dd',
minDate: 0,
onSelect: function (dateText) {
   function1(dateText);
   function2(selectedDate);  //Code to Populate selectedDate
}
});

var function1 = function(dateText){
      var objDate = new Date(dateText);
    $('#checkinYear').val(dateText.length ? objDate.getFullYear() : '');
    $('#checkinMonth').val(dateText.length ? objDate.getMonth() + 1 : '');
    $('#checkinDay').val(dateText.length ? objDate.getDate() : '');
}

var function2 =  function (selectedDate) {
    $("#DepartureDate").datepicker("option", "minDate", selectedDate);
} 

希望这可能会有所帮助。

快乐学习:)