2011-11-02 92 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"); 
    } 
});