调用函数值

时间:2012-08-30 17:20:22

标签: javascript jquery html jquery-ui javascript-framework

  

可能重复:
  Function triggering early

我已经掀起了这段代码,但是为什么它会提醒我它未定义,即使我从来没有机会点击并在我调用功能测试时从UI日期选择器中选择一个日期( )?

对我来说似乎没有意义吗?

var sdate

function test() {
    alert(select_date())
}

function select_date() {
    $('#dd').dialog({
        autoOpen: true,
        modal: true,
        overlay: {
            opacity: 0.5,
            background: 'black'
        },
        title: "title",
        height: 265,
        width: 235,
        draggable: false,
        resizable: false
    }); //end of dialog

    $('#d1').datepicker({
        onSelect: function() {
            sdate = $(this).val();
            $("#dd").dialog("close");
        }
    });
    return sdate
}​

1 个答案:

答案 0 :(得分:1)

onSelect是一个事件回调,你试图在知道该怎么做之前返回一个值。它不可能让你的test()返回值,因为它会在以后出现。

你应该在事件回调中做警报或任何逻辑:

$('#d1').datepicker({
    onSelect: function() {
        sdate = $(this).val();
        $("#dd").dialog("close");
        alert(sdate);
        // or your own function
        someOtherTest(sdate);
    }
});

-

function someOtherTest(date) {
    alert(date);
}