Прежде всего, вы не должны использовать .live()
.Он потребляет ресурсы и фактически устарел.
Вот хороший способ сделать это с делегатом:
$("body").on('click', '.ui-datepicker-calendar tbody tr', function(){
$(this).next().css("border", "1px solid Green");
});
Плохая вещь в том, что, несмотря на это, нет простого способа определить, какойполе ввода запустило средство выбора даты.
Я бы подключил событие .focus()
к полям средства выбора даты и добавил класс, если это поле, на которое вы хотите воздействовать, в противном случае удалите его.
Примерно так:
$(".datepicker").focus(function() {
if ($(this).attr("id") == "datePicker1") {
$("#ui-datepicker-div").addClass("greenBorders");
}
else {
$("#ui-datepicker-div").removeClass("greenBorders");
}
});
А затем обновите приведенный выше код следующим образом:
$("body").on('click', '.greenBorders ui-datepicker-calendar tbody tr', function(){
$(this).next().css("border", "1px solid Green");
});