inserire i dati ottenuti da una jquery in una tabella già esistente

Discussione in 'jQuery' iniziata da Mattuso, 10 Luglio 2019.

  1. Mattuso

    Mattuso Nuovo Utente

    Registrato:
    19 Maggio 2019
    Messaggi:
    6
    Mi Piace Ricevuti:
    0
    Punteggio:
    1
    Sesso:
    Maschio
    Dunque.. il mio progetto volge al termine e sono all'ultimo scalino (spero), da cui però non riesco a venire fuori.
    Ho una pagina che ha l' header di una tabella, ogni colonna ha l'intestazione e delle checkbox che permettono di filtrare i risultati tramite una ajax che invia le richieste ad una seconda pagina e ritorna i dati aggiornati alla pagina 1. Fin qui tutto bene, il problema è che non riesco a posizionare i dati sotto all'header, ma ogni volta li mette sopra.
    La struttura è la seguente.
    pagina1:

    PHP:
    <div id="container">
    <table class='blueTable' id="max">
       <thead>
           <tr>
           <th>Part number</th>
       <div class="box">
           <th>Model
           <?php
           
    include "conn.php";
           
    $result mysqli_query($conn,"SELECT DISTINCT model FROM pfindercard WHERE family = 'Card' ORDER BY model ASC");
           while (
    $row $result->fetch_assoc()){
               echo 
    "<div class='list-group-item checkbox'>
               <label><input type='checkbox' class='common_selector model' value='" 
    $row['model'] . "'>" $row['model'] . "</label></div>";
           }
           
    ?>
           </th></div>
    la div "box" viene ripetuta per tutte le colonne, al termine del quale si chiude l'head della tabella e c'è la div che mostra i dati della jquery
    HTML:
    </div>
    </thead>
    <div class="filter_data"></div>
    Questa è la jquery
    PHP:
    $(document).ready(function(){

        
    filter_data();

        function 
    filter_data()
        {
       
            var 
    action 'fetch_data';

            var 
    model get_filter('model');
           
    /* elenco delle variabili */
           
            
    $.ajax({
                
    url:"pfindercard1.php",
                
    method:"POST",
                
    data:{action:actionmodel:model,  /*elenco delle variabili */},
                
    success:function(data){
                    $(
    '.filter_data').html(data);
                }
            });
        }

        function 
    get_filter(class_name)
        {
            var 
    filter = [];
            $(
    '.'+class_name+':checked').each(function(){
                
    filter.push($(this).val());
            });
            return 
    filter;
        }

        $(
    '.common_selector').click(function(){
            
    filter_data();
        });

    });
    nella pagina 2, pfindercard1.php, c'è l'output con l'elenco delle variabili, ognuna inclusa in una coppia di tag td - /td.
    Ho provato ad aprire il tbody nella pagina 1 e non viene creata nessuna tabella, stessa cosa mettendo il tbody nella pagina 2, l'unico modo per avere una tabella è stato quello di inserire il tag table nella pagina 2, ma non è il risultato che cerco, anche perchè comunque i dati venivano sempre posti sopra all'header.
    Non sono molto esperto in javascript, ma credo di aver capito di dover formattare l'output non nella pagina 2, ma nella jquery della pagina 1, inserendo l'output in un ciclo con i tag td e /td per ogni variabile ricevuta, solo che non so come fare.
    Per chiarezza, questo è ciò che ottengo.
    Qualcuno sa gentilmente darmi un suggerimento?
     
    Ultima modifica di un moderatore: 11 Luglio 2019
  2. Mattuso

    Mattuso Nuovo Utente

    Registrato:
    19 Maggio 2019
    Messaggi:
    6
    Mi Piace Ricevuti:
    0
    Punteggio:
    1
    Sesso:
    Maschio
    alla fine ho risolto inserendo la class "filter_data" al tag tbody invece che alla div e tutto ha funzionato a dovere..
     
Sto caricando...

Condividi questa Pagina