Вкладка Jquery: открыть вкладку после успеха ajax

У меня есть форма, которая распространяется на несколько вкладок. Когда пользователь нажимает на следующую вкладку, форма проверяется только тогда, когда все поля заполнены правильно и пользователь переходит на следующую вкладку. Все идет нормально. Я также хочу сохранить поле в файле cookie или базе данных (пока не уверен). Я делаю это с помощью ajax-вызова контроллера php. Это тоже работает нормально, но сразу открывается следующая вкладка. Я хотел бы сначала дождаться успешного обратного вызова и только потом открывать следующую вкладку. У меня просто не получается. Часть моего кода в событии выбора вкладок:

$.ajax({
  type: 'POST',
  url: 'saveorder/save_tab',
  data: {data : tabData},
  success: function(msg) {
     $('#tabs').tabs('option', 'select',2); 
    },
  dataType: 'json'
});
return false

Это, очевидно, предотвратит отображение следующей вкладки, но после успешного запроса ajax ничего не происходит. У кого-нибудь есть идея?


person driechel    schedule 01.06.2012    source источник


Ответы (1)


Попробуйте этот код :)

$.ajax({
  type: 'POST',
  url: 'saveorder/save_tab',
  dataType: 'json',
  data: {data : tabData},
  success: function(msg) {
     $("#tabs").tabs({ selected:2});
    },
  error: function(msg) {
     $("#tabs").tabs({ selected:1}); //load ur previous tab itself if returns error..
    }

});
person Kabilan S    schedule 01.06.2012