-2

重複の可能性:
機能が早期にトリガーされる

私はこのコードを作成しましたが、関数test()を呼び出したときに、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
}​
4

1 に答える 1

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);
}
于 2012-08-30T17:34:36.013 に答える