Я использую следующую функцию для обновления вкладок в виджете вкладок jQuery ui.
function updateTheTabs(select, disable) {
var selectIdx = vehicleSelectorControl.tabIndexByName(select);
$tabs.tabs('option', 'disabled', [])
.tabs('option', 'disabled', convertToTabIndices(disable))
.tabs('option', 'collapsible', true)
.tabs('select', selectIdx)
.tabs('option', 'collapsible', false)
.tabs('select', selectIdx);
}
Я переключаю опцию «складной», чтобы добиться желаемого поведения клиента.Я также обновляю содержимое вкладки на tabSelect.Мой вопрос заключается в том, что я бы хотел, чтобы только первая вкладка Select фактически инициировала вызов на сервер.2-я tabSelect предназначена для показа вкладки.Я понимаю, что это немного взломать.Другие элементы управления на странице влияют на состояния вкладок, и в определенном случае вкладка уже была выбрана, поэтому первый вызов не обновлял ее содержимое, поэтому я сделал ее разборной, выберите ее (что фактически отменяет ее выбор), установитесворачивается в ложь, затем выбирается вкладка (это запускает обновление правильно).В любом случае клиенту нравится текущее поведение, за исключением того, что я вижу, что сервер вызывается дважды.Я попытался разбить цепочку на две части и установить между ними логическую переменную, а затем проверить ее при принятии решения об обновлении вкладок.Я не совсем получил то поведение, которое хотел.Кто-нибудь может указать мне правильное направление здесь?Опять же, я не хочу вызывать сервер, если в этом нет необходимости.Мне бы хотелось решение, которое не требует изменения функции updateTheTabs.Большое спасибо за любые советы или подсказки.
Приветствия,
~ СК в Сан-Диего