2011-11-02 97 views
0

我有下面的代码:jQuery的datePicker没有焦点事件?

$("#fecha_fin, #bf_fin").click(function(){ 
    if($("#fecha_inicio").val() == ""){ 
     crearModal("Alerta", 
        getMessage("/js/buscador/buscadores.js", "11", codidi, 'Por favor, seleccione la fecha de inicio del hotel.')); 

     $("#fecha_fin").val(""); 
    }else if(($("#fecha_fin").val() == "") || (this.id == "bf_fin")){ 
     var diasASumar = dif_dias("hoy", "fecha_inicio") + 1; 
     $("#fecha_fin").datepicker("option", "defaultDate", +diasASumar); 
     $("#fecha_fin").datepicker("show"); 
    } 
}); 

$("#fecha_fin").focus(function(){ 
    if($("#fecha_inicio").val() == ""){ 
     crearModal("Alerta", 
        getMessage("/js/buscador/buscadores.js", "11", codidi, 'Por favor, seleccione la fecha de inicio del hotel.')); 

     $("#fecha_fin").val(""); 
    }else if(($("#fecha_fin").val() == "") || (this.id == "bf_fin")){ 
     var diasASumar = dif_dias("hoy", "fecha_inicio") + 1; 
     $("#fecha_fin").datepicker("option", "defaultDate", +diasASumar); 
     $("#fecha_fin").datepicker("show"); 
    } 
}); 

事实是,当焦点事件发生的,而不是点击一个,使得defaultDate行不工作。没有错误,只是它没有做它应该做的事情。但是当事件是点击事件时,它会变得完美。

请问谁能指点一下?

+0

我们不知道你的函数'crearModal','dif_dias'做 –

+0

好吧,我会让代码的编辑,删除的内容,它不是无意成为。 – elvenbyte

回答

0

您在变量diasASumar之前有一个+符号。这不是必需的。

+0

JQuery文档说我必须在想要建立的日期之前加上那个+符号。无论如何,它不能解决问题。 – elvenbyte

1

最干净的代码如下:

$("#fecha_fin, #bf_fin").click(function(){ 
     var diasASumar = dif_dias("hoy", "fecha_inicio") + 1; 
     $("#fecha_fin").datepicker("option", "defaultDate", +diasASumar); 
     $("#fecha_fin").datepicker("show"); 
    } 
}); 

$("#fecha_fin").focus(function(){ 
     var diasASumar = dif_dias("hoy", "fecha_inicio") + 1; 
     $("#fecha_fin").datepicker("option", "defaultDate", +diasASumar); 
     $("#fecha_fin").datepicker("show"); 
    } 
});