如何使一个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没有,因为我一直在使用同一个变量。谢谢你的回答,尽管我已经找到了问题的答案。谢谢你的回答,尽管我已经找到了问题的答案。我只遵循了这个,它起了作用,谢谢你!)我只遵循了这一点,它成功了,谢谢你!:)