2013-03-13 89 views
0

我想在onSelect事件上使用返回一个变量。第一部分是我正在输入一个已经在输入$("#firstAvailable")中的日期并进行日期格式化。之后,如果日期选择器中的日期发生变化,则重新应用这些日期更改。这是行不通的,因为我的ajax上有一个console.log,它只是显示加载页面的原始日期。我认为firstDate的返回会重置var,显然它不是。这是我的代码。思考?从datepicker返回值

编辑:这是我的jsfiddle

var date = $("#firstAvailable").val(); 
var firstDate = new Date(date); 
var currYear = firstDate.getFullYear(); 
var currMonth = firstDate.getMonth(); 
currMonth++; 
var currDate = firstDate.getDate(); 
var firstDate = currYear + '-' + currMonth + '-' + currDate; 

$("#firstAvailable").datepicker({ 
    onSelect: function(dateText, uiInstance) { 
      var date = $(this).val(); 
      var firstDate = new Date(date); 
      var currYear = firstDate.getFullYear(); 
      var currMonth = firstDate.getMonth(); 
      currMonth++; 
      var currDate = firstDate.getDate(); 
      var firstDate = currYear + '-' + currMonth + '-' + currDate; 
      return firstDate; 
     } 
}); 
+0

而不是'onSelect'使用'onClose'。 – j08691 2013-03-13 21:15:32

+0

不幸。我将onSelect更改为onClose相同的东西。 – wowzuzz 2013-03-13 21:20:43

+0

你可以在jsFiddle上创建一个例子吗? – j08691 2013-03-13 21:27:35

回答

0

尝试在代码的某处定义secondDate变量。我不确定哪一个你想成为今天的日期,哪一个你想成为用户选择的日期,但是你重复地为firstDate赋值。

您还可以使用:

$("#firstAvailable").value = firstDate; // or secondDate 

为了改变输入的值。在你所做的onSelect函数内部,你可以简单地写出:

this.value = firstDate; // or secondDate 
+0

这里是js小提琴的一些必要的修改... http://jsfiddle.net/T5CsR/ – Jon 2013-03-13 22:25:12

+0

我实际上管理刚才找出乔恩。非常感谢您的帮助。 – wowzuzz 2013-03-13 22:36:24

+0

我会尽快发布我的答案。 – wowzuzz 2013-03-13 22:37:15