Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 功能早期触发_Javascript_Jquery_Html_Jquery Ui - Fatal编程技术网

Javascript 功能早期触发

Javascript 功能早期触发,javascript,jquery,html,jquery-ui,Javascript,Jquery,Html,Jquery Ui,我试图从函数中回调一个值,但是,回调总是未定义的,因为jQuery日期选择器从来没有机会设置var sdate,因此提醒我它未定义。我真的需要你的帮助,但这个问题似乎解决不了 var sdate function test() { select_date() alert(sdate) } function select_date() { $('#dd').dialog({ autoOpen: true, modal:

我试图从函数中回调一个值,但是,回调总是未定义的,因为jQuery日期选择器从来没有机会设置var sdate,因此提醒我它未定义。我真的需要你的帮助,但这个问题似乎解决不了

var sdate
function test() {


    select_date()
    alert(sdate)

    }


  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

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

}

这对你有什么好处

$('#d1').datepicker({
        onSelect: function() {
           sdate = $(this).val(); 
          //set value to the global variable (although not the best approach)
            $("#dd").dialog("close");
        }
 });

您根本没有设置
sdate
。我想你可能是想做
sdate=select_date()

sdate
在您执行
alert(sdate)
时实际上是
未定义的。但即使是
x
也是
undefined
,因为它只在
onSelect
事件回调中设置。我修改了输入错误。真正的问题是函数测试中的警报框在select_date有机会设置sdate之前提前触发variable@JasonKelly:无论该函数返回的是从未被您的
alert
使用的函数,也永远不会设置为-例如:没有任何地方可以使您
sdate=xValue
。您应该尝试的是
alert(select_date)
。sdate设置得很好,但是,我想在函数测试中检查sdate的值,如果它为null{do something},如果它不是{do something}@JasonKelly,如果这不是你想要的答案,你为什么要把它标记为答案?@Alexander:我怀疑这是因为他根据我在这里试图说的内容更新了(模糊的)问题中的代码。英雄联盟