调用函数值

可能重复:
function触发早

我已经掀起了这段代码,但是为什么它会提醒我它未定义,即使我从来没有机会点击并在我调用函数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 }​ 

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); }