我已经掀起了这段代码,但是为什么它会提醒我它未定义,即使我从来没有机会点击并在我调用功能测试时从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
}
答案 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);
}