отправить все данные из таблицы данных всех страниц в порядке - PullRequest
0 голосов
/ 27 июня 2019

Здесь я хочу отправить все данные, содержащиеся в dataTable всех страниц, в базу данных, для этого я написал свой код, подобный этому

 $('.sales_purchase_button').on('click', function(e){

  e.preventDefault();

    var sData = table.$('input').serialize();
    var theForm = $(this).closest('form');

        $.ajax({
            type: "POST",
            url: "<?php echo base_url();?>admin_control/add_sales_purchase",                
            data: sData,
            success: function(data){
                console.log($('#sales_purchase').serialize());

            }
        });
        e.preventDefault(); 

    }); 

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

Моя HTML-страница выглядит так

<form id="sales_purchase"  method="POST">
          <table id="myTableinvoice" class="table table-bordered table_repo">
                      <thead class="thead-light">
                      <tr>
                      <th>Client</th>
                      <?php foreach($months as $month){?>
                        <th><?php echo $month->format("M-Y");?>(Sales)</th>

                       <?php } ?>
                       <!--<th>Total sale</th>-->
                       <?php foreach($months as $month){?>
                        <th><?php echo $month->format("M-Y");?>(Purchase)</th>

                       <?php } ?>
                       <?php foreach($months as $month){?>
                       <th><?php echo $month->format("M-Y");?>(Expenses)</th>
                       <?php } ?>
                      </tr>
                </thead>
                <tfoot>
                     <tr>
                    <th>Client</th>
                    <?php foreach($months as $month){?>

                        <th><?php echo $month->format("M-Y");?>(Sales)</th>

                       <?php } ?>
                       <!--<th>Total sale</th>-->

                       <?php foreach($months as $month){?>
                        <th><?php echo $month->format("M-Y");?>(Purchase)</th>

                       <?php } ?>
                       <?php foreach($months as $month){?>
                       <th><?php echo $month->format("M-Y");?>(Expenses)</th>
                       <?php } ?>
                    </tr>
                </tfoot>
                <tbody>
                   <?php $net_total=0;$br=0;$i=0; if(!empty($client_details)){
                       foreach ($client_details as $key => $client_detail) {

                         ?>
                        <tr class="tr" >
                        <td data-filter="<?= $client_detail->client_name;?>" nowrap><?php if($client_detail->client_name) echo $client_detail->client_name; else echo "NULL";?></td>
                        <input type="hidden" id="hidden_client_id" name="hidden_client_id[]" value="<?= $client_detail->id;?>">
                        <input type="hidden" id="client_id" name="client_id<?php echo $i;?>[]" value="<?= $client_detail->id;?>">

                        <?php foreach($months as $month){?>

                        <input type="hidden" class="" name="months<?php echo $i;?>[]" value="<?php echo $month->format("M");?>" >
                        <input type="hidden" class="" name="year<?php echo $i;?>[]" value="<?php echo $month->format("Y");?>" >
                        <td><input type="text" class="sales_amount" name="sales_amount<?php echo $i;?>[]" ></td>

                        <?php } ?>
                        <!--<td><input type="text" readonly="readonly" class="total_sale" name="total_sale<?php echo $i;?>" ></td>-->
                       <?php foreach($months as $month){
                           ?>

                        <td><input type="text" class="sales_amount" name="purchase_amount<?php echo $i;?>[]"></td>

                       <?php } ?>
                       <?php foreach($months as $month){?>
                       <td><input type="text" name="expense_amount<?php echo $i;?>[]"></td>
                       <?php } ?>




            </tr>

                    <?php $i++;  }
                   } ?>









                </tbody>

            </table>
            <div class="form-group" style="margin-top: 20px">

            <input type="hidden" name="group" id="group" value="<?php echo $group;?>">
            <input type="button" id="sales_purchase_button" class="btn btn-primary sales_purchase_button" style="font-weight: bold" value="Create" />
            <p><button>Submit</button></p>

        </div>
        </form>

Ответы [ 2 ]

0 голосов
/ 27 июня 2019

Я создал JSFiddle для вас. Ниже приводится соответствующая часть в JavaScript:

$(document).ready(function() {
    $('#example').DataTable();
} );

$( "#but" ).click(function() {
     var table = $('#example').DataTable();    
     var info = table.page();
     console.log(info);
     table.page("first").draw("page");
     var allData = table.rows().data();
     var proof = allData.$('input').serialize();  
     table.page(info).draw("page"); 
     console.log(proof);
});   

Завершить JSFiddle здесь .

Это пример спартанского, но я пытался смоделировать ваше окружение. Запустите и посмотрите журнал консоли. Я могу поймать все формы ввода всех строк таблицы.

0 голосов
/ 27 июня 2019

Сериализация всей вашей формы

 var sData = $(this).closest('form').serialize();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...