Salve ragazzi come da titolo carico una select dinamicamente con ajax, consideriamo che la select ha circa 2500 record ma a caricarsi impiega più di 10 secondi , secondo voi è normale ??? secondo me è dato dal fatto dei 2 cicli eseguiti per caricare array e poi per caricare "option"
cosa posso fare per velocizzarla??? vi lascio parte del codice cosi che possiate dare un'occhiata...
html
codice:
<select name="sel_articoli" id="sel_articoli" data-placeholder="Seleziona Articolo" class="chosen-demo form-control"><option value=""></option></select>
js
codice:
$.ajax({
       url:'php/ajax_articoli.php',
       data: {Tipo_Sel: "SEL-PREF"},
       type:"POST",
       dataType: 'json',
       success: function(data){
              var $i=0;
              $.each(data,function(key,val){                  
                  $("#sel_articoli").append('<option value="'+val.id+'">'+val.codice+" - "+val.descrizione+'</option>').trigger("chosen:updated");
                  if (val.id_pref==1){
                    $('#sel_articoli option:last').addClass('select-pref');
                    if ($i==0){
                      $("#sel_articoli").val(val.id);
                      $i+=1;
                    }
                  }
              })
              $("#sel_articoli").append('<option value="0">Nessuna Selezione</option>').trigger("chosen:updated");
              //controllo se ha un valore di default e lo imposto
              if (isEmpty(iid)){
                //altrimenti lo metto vuoto
                if ($i==0){
                  $("#sel_articoli").val(0);
                }
              }
              else
              {
                $("#sel_articoli").val(iid);
              }
          }
     });
}
php
codice:
if ($_POST["Tipo_Sel"] == "SEL-PREF")
{
$query = "SELECT *
          FROM tb_articoli
          WHERE tb_articoli.id_del<>1
          ORDER BY id_Pref DESC, codice ASC";
          $result = mysqli_query($connect, $query);
        if ($result->num_rows > 0) {
           while($row = $result->fetch_assoc()) {
                 $data[]=$row;
                 }
                 echo json_encode($data);
         }
       else{
       	    $array_text["msg"]= "Nessun Dato";
	          $array_text["status"]= "error";
	          echo json_encode($array_text);
       }
}