как перезагрузить выбранную вкладку jquery

#jquery

#jquery

Вопрос:

как перезагрузить выбранную вкладку на самом деле у меня возникла проблема с перезагрузкой части. когда я добавляю свои данные, я успешно сохраняюсь в datatable, но в поле id в базе данных отображается правильный идентификатор, но когда я добавляю детали, его идентификатор не отображается в datatable.

(перед обновлением сводной вкладки) вот пример, он показывает что-то вроде этого в datatable id возраст мужа пациента ……….. и так далее… xyz abc 23……. и так далее…

(после обновления вручную) но когда я обновляю свою страницу, она успешно отображается..вот так в datatable: идентификатор пациента, возраст мужа ……….. и так далее… 13 xyz abc 23 ……. и так далее…

но именно я хочу, чтобы при добавлении моих данных автоматически обновлялась выбранная вкладка.

вот мой код, как показано ниже:

 <button type="button"  a href="javascript:void(0);" onclick="fnClickAddRow();">Add Summary</button>

function fnClickAddRow(event) {

$('#table_scroll').dataTable().fnAddData( [

"",$('#patientt').val(),$('#husband').val(),$('#age').val(),$('#opu_no').val(),$('#date').val(),$('#proc').val(),$('#no_of_eggs').val(),$('#fert').val(),$('#et_date').val(),$('#et_day').val(),$('#et').val(),$('#fz').val(),$('#bioch_preg').val(),$('#clin_preg').val(),$('#fh').val(),$('#comment').val()

]);


var datastring = $(Form_summary).serialize();

$.ajax({
    type: "POST",
    url: "summaryajax.php",
    data: datastring, 
    success: function(response){

 alert(response);

    }
    });
  

Комментарии:

1. можете ли вы добавить код / разметку ваших вкладок? используете ли вы вкладки пользовательского интерфейса jQuery?

2. да, я использую вкладки пользовательского интерфейса jquery, проблема в том, что когда я нажимаю кнопку «Сводка», она отображает данные без отображения идентификатора, но при обновлении она показывает правильный идентификатор в блоках данных, который не получает точно.. Справка. заранее спасибо

Ответ №1:

В вашем событии успеха ajax вместо предупреждения добавьте приведенное ниже. Она загрузит вашу вкладку.

 $('tabSelector').tabs( "load" , indexOfYourDataTableTab )
  

Но я думаю, вы можете просто перезагрузить свой столбец datatable или update id этой недавно вставленной строки вместо перезагрузки всей вкладки.

В противном случае сначала отправьте свои данные в PHP-файл и получите в ответ новый вставленный идентификатор, затем добавьте строку в таблицу данных

 function fnClickAddRow(event) {

var datastring = $(Form_summary).serialize();

$.ajax({
    type: "POST",
    url: "summaryajax.php",
    data: datastring, 
    success: function(response){
       $('#table_scroll').dataTable().fnAddData( 
          [response, $('#patientt').val(), $('#husband').val(),$('#age').val(),
            $('#opu_no').val(), $('#date').val(),$('#proc').val(), $('#no_of_eggs').val(), 
            $('#fert').val(),$('#et_date').val(), $('#et_day').val(), $('#et').val(), 
            $('#fz').val(), $('#bioch_preg').val(), $('#clin_preg').val(), $('#fh').val(), 
            $('#comment').val() ]);
    }
});
  

Комментарии:

1. можете, пожалуйста, уточнить indexOfYourDataTableTab с примером, я не понимаю, я новичок в этом. как применить это ..??

2. если ваша таблица данных находится на 2-й вкладке, то indexOfYourDataTableTab будет равен 1. В пользовательском интерфейсе jQuery индексы вкладок начинаются с 0.

3. Как насчет второго подхода? Сначала опубликуйте форму с помощью AJAX, затем добавьте строку в DATATABLE.

4. да, я также попробовал этот второй подход, но при нажатии кнопки отправки данные не отображаются в datatable, но когда я обновляю свою страницу, данные, которые я добавил, находятся там .. та же проблема: (безуспешно..