нет события фокусировки для jquery DatePicker?

#javascript #jquery #jquery-ui-datepicker

#javascript #jquery #jquery-ui-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, не работает. Ошибки нет, просто он не делает то, что должен делать. Но когда событие является щелчком мыши, оно проходит идеально.

Кто-нибудь может дать направление, пожалуйста?

Комментарии:

1. Хорошо, я внесу правку в код, удалив то, что не предназначено.

Ответ №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");
    }
});
 

Ответ №2:

Перед вашей переменной стоит знак diasASumar . Это не требуется.

Комментарии:

1. В документации jQuery говорится, что я должен поставить этот знак перед днями, которые я хочу установить. В любом случае, это не решает проблему.