Можно попытаться исследовать HttpContext. Ошибка, но я не уверен в этом.
Подпишитесь на onClose
или onSelect
событие:
$("#someinput").datepicker(
{
// other options goes here
onSelect: function ()
{
// The "this" keyword refers to the input (in this case: #someinput)
this.focus();
}
});
Или в случае onClose
:
$("#someinput").datepicker(
{
onClose: function ()
{
this.focus();
}
});
Спасибо за предложение Джефф, я изменил вашу функцию onSelect, чтобы использовать фильтр атрибутов для извлечения только элементов с tabindex, указанным в "nexttab".
$(function(){
$(".date").datepicker({
onSelect: function(){
currenttab = $(el).attr("tabindex");
nexttab = currenttab * 1 + 1;
$("[tabindex='" + nexttab + "']").focus();
}
});
});
PS: Если в вашем коде не указаны индексы табуляции, как я забыл сделать ранее, просто добавьте следующий код:
$('input, select').each(function(i, val){
$(this).attr('tabindex', i + 1);
});
Фокусировка на одном и том же поле в конечном итоге вызывает всплывающее окно выбора даты, и мы действительно хотим, чтобы он перешел к следующему полю. Вот разработанное решение:
Это фактически перемещает выбранное поле в следующий элемент вместо текущего фокуса
$ (function () { $ (". date"). datepicker ({ onSelect: function () { currenttab = $ (это) .attr ("tabindex"); nexttab = currenttab * 1 + 1; $ (": input"). each (function () { if ($ (this) .attr ("tabindex") == nexttab) $ (это) .focus (); }); } }); });
Мы приветствуем любые предложения по улучшению этой техники.
Вы, вероятно, можете использовать событие onClose
для возврата фокуса на ваш ввод при закрытии датпикера, поскольку this
относится к соответствующему полю ввода в этом Перезвоните. Например:
$('.date').datepicker({
onClose: function() { this.focus(); }
});
Если вам действительно не важен порядок табуляции, то есть, что он не назначен, чтобы он следовал за потоком страницы, вы можете сделать что-то вроде этого.
jQuery('.date').datepicker({
'onSelect': function(){
$(this).nextAll('input, button, textarea, a').filter(':first').focus();
}
});
Это работает при условии, что когда пользователь выбирает дату, он заканчивает работу с этим полем и переходит к следующему, поэтому он просто выбирает следующее поле.