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
如何使一个javascript函数的一个变量的值在任何其他函数中可用?_Javascript_Jquery_Jsp_Jquery Ui Datepicker_Javascript Objects - Fatal编程技术网

如何使一个javascript函数的一个变量的值在任何其他函数中可用?

如何使一个javascript函数的一个变量的值在任何其他函数中可用?,javascript,jquery,jsp,jquery-ui-datepicker,javascript-objects,Javascript,Jquery,Jsp,Jquery Ui Datepicker,Javascript Objects,我希望我的日期采集者的头脑可以使用someDate的值。目前,我将它保留为new Date(),以便它正常工作,但我需要一些日期值来代替它某个日期逻辑在myFunction()中。我怎样才能做到这一点 声明一个全局变量someDate无效。它只传递了今天日期的值。在myFunction()中对someDate所做的更改需要合并到Datepicker函数中 下面是我的代码 函数myFunction() { var check=document.getElementById('check'); v

我希望我的日期采集者的头脑可以使用
someDate
的值。目前,我将它保留为new Date(),以便它正常工作,但我需要一些日期值来代替它<代码>某个日期逻辑在myFunction()中。我怎样才能做到这一点

声明一个全局变量
someDate
无效。
它只传递了今天日期的值。在
myFunction()
中对
someDate
所做的更改需要合并到Datepicker函数中

下面是我的代码

函数myFunction()
{
var check=document.getElementById('check');
var time=新日期().getHours();
var currentday=new Date().getDate();
警报(当前日期);
var someDate=新日期();
var日=0;
如果(!check.checked&&time>10)
{
警报(时间);
警报(检查,检查);
第6天=当前第1天;
var someDate=新日期();
如果(第>=3天)
{
警报(天);
someDate.setDate(someDate.getDate()+3);
警报(某日);
}
其他的
{
警报(某日);
someDate.setDate(someDate.getDate()+5);
警惕('yayy!!');
}
}

else if(check.checked&&time不需要全局命名空间来解决此问题。您可以将myFunction放入文档就绪处理程序中,如下所示:

$(function(){
  var someDate;
  function myFunction(){ ... }

  //add the change handler to the checkbox
  $("#check").change(function(){
    myFunction();
  });
}
function myFunction() {
    var someDate;

    // [Do the logic to decide value of someDate] 
    someDate = '+3d';     // three days from today, for example

    // Set the minDate option on the datePicker:
    $('#datepicker-5').datepicker('option', 'minDate', someDate);
}
注意:这将使用jquery而不是在dom中添加复选框更改处理程序,因此您的输入标记可以是:

<input type="checkbox" id="check" >


解决此问题不需要全局命名空间。您可以将myFunction放在文档就绪处理程序中,如下所示:

$(function(){
  var someDate;
  function myFunction(){ ... }

  //add the change handler to the checkbox
  $("#check").change(function(){
    myFunction();
  });
}
function myFunction() {
    var someDate;

    // [Do the logic to decide value of someDate] 
    someDate = '+3d';     // three days from today, for example

    // Set the minDate option on the datePicker:
    $('#datepicker-5').datepicker('option', 'minDate', someDate);
}
注意:这将使用jquery而不是在dom中添加复选框更改处理程序,因此您的输入标记可以是:

<input type="checkbox" id="check" >

即使在全局范围内设置了
someDate
,日期选择器也不知道如何使用新值。日期选择器确实有一个新值,但为了避免使用全局范围,最好

使用如下所示的方法:

$(function(){
  var someDate;
  function myFunction(){ ... }

  //add the change handler to the checkbox
  $("#check").change(function(){
    myFunction();
  });
}
function myFunction() {
    var someDate;

    // [Do the logic to decide value of someDate] 
    someDate = '+3d';     // three days from today, for example

    // Set the minDate option on the datePicker:
    $('#datepicker-5').datepicker('option', 'minDate', someDate);
}
另请注意:

  • 您应该从主日期选择器初始化中删除
    minDate:someDate
  • 您可能需要检查jQueryUI文档中的有效值

即使在全局范围内设置了
someDate
,日期选择器也不知道如何使用新值。日期选择器确实有一个新值,但为了避免使用全局范围,最好

使用如下所示的方法:

$(function(){
  var someDate;
  function myFunction(){ ... }

  //add the change handler to the checkbox
  $("#check").change(function(){
    myFunction();
  });
}
function myFunction() {
    var someDate;

    // [Do the logic to decide value of someDate] 
    someDate = '+3d';     // three days from today, for example

    // Set the minDate option on the datePicker:
    $('#datepicker-5').datepicker('option', 'minDate', someDate);
}
另请注意:

  • 您应该从主日期选择器初始化中删除
    minDate:someDate
  • 您可能需要检查jQueryUI文档中的有效值

全局变量确实有效。最有可能的情况是,您在函数中通过声明同名的局部变量来隐藏全局变量。您所提供的只是如何在html代码中包含库。请提供一些js代码或至少您尝试过的任何代码。除此之外,jqdatepicker有一个mndate选项,您可以将其设置为静态值或者通过变量来更改它,比如var date=您想要的日期I Atilla,我已经提供了所有具有minDate设置逻辑的代码,以及我需要如何在jquery中放置它。请向下滚动查看更多代码,因为所有内容都包含在内。Teemu,不,我没有,因为我一直在使用同一个变量。@Teemu不,我没有,因为我一直在使用同一个变量。全局变量确实有效。很可能你在函数中隐藏了全局变量,用相同的名称声明了一个局部变量。你所提供的只是如何在html代码中包含库。请提供一些js代码或至少你尝试过的任何代码。除了jqdatepicker有一个mndate选项,您可以将其设置为静态值,也可以通过变量进行更改,比如var date=您想要的日期I Atilla,我已经提供了所有具有minDate设置逻辑的代码,以及我需要如何在jquery中放置它。请向下滚动查看更多代码,因为包含了全部内容。Teemu,No I没有,因为我一直在使用同一个变量。@Teemu没有,因为我一直在使用同一个变量。谢谢你的回答,尽管我已经找到了问题的答案。谢谢你的回答,尽管我已经找到了问题的答案。我只遵循了这个,它起了作用,谢谢你!)我只遵循了这一点,它成功了,谢谢你!:)