Вы можете запускать функцию при каждом изменении вкладки следующим образом:
$("#tabs").tabs({
select: function(event, ui) {
// Do your validation here
}
});
С официальной документацией можно ознакомиться здесь .Материал события находится внизу.
Таким образом, вы можете выполнить проверку внутри этой функции для некоторых элементов управления на этой вкладке.Кроме того, вместо выбора разных вкладок вручную, вы можете получить индекс вкладки, которую вы выбираете внутри функции, также используя ui.index
.Кроме того, вы можете очень легко запретить пользователю переходить на другую вкладку, если текущее содержимое вкладок недопустимо с помощью event.preventDefault()
.В общем, что-то вроде ...
$("#tabs").tabs({
select: function(event, ui) {
alert('validating tab ' + ui.index);
var valid = false;
// do your validating here...
// determine validity
// If the form isn't valid, prevent the tab from changing
if(!valid)
{
// prevent further action
event.preventDefault();
}
else
{
// valid so we'll allow user to change tab
alert('valid');
}
}
});
Вы можете поиграть с кодом здесь .