[LatinaLUG] jquey e ajax
Jusi Pomenti
jusipom@gmail.com
Gio 11 Feb 2016 14:20:12 CET
come è possibile che non richiama lo script?
Ciao
Il 10/02/2016 14:00, Mirko ha scritto:
> Ciao Jusi,
> non ho testato il codice che ci hai girato, però a primo impatto ti
> dico subito che questa operazione:
> $('select').each(function(){
> $(this).change(function() {
>
> puoi riassumerla in $('select').change(function(){}); o meglio ancora
> $('body').on('change','select',function(){});
> Un'altra cosa che ho notato è che nell'attr ID piazzi solo un valore
> numerico, prova ad aggiungere un prefisso tipo ilmioid_0.
>
> prova intanto a modificare queste cose, e piazza un console.log qua e
> la per capire dove si blocca il tuo script
>
> Ciao!
> Mirko
>
> Il giorno 10 febbraio 2016 13:35, Jusi Pomenti <jusipom@gmail.com
> <mailto:jusipom@gmail.com>> ha scritto:
>
> ciao a tutti,
> è la prima volta che affronto un problema del genere e ho
> poca familiarità con jquery e ajax.Non vi invio tutto il codice
> che,oltre ad essere diviso in file,è anche piuttosto lungo e,in
> poche parole,funziona cosi':
> Ho 4 select con id da 0 a 3. Quando l'utente cambia il valore
> della select 0,vengono impostati alcuni parametri per operare
> sulla select 1 e con questi si esegue una richiesta AJAX con il
> metodo GET che popola la select con id 1.
> Stesso discorso quando cambia l'opzione nella select
> 2;ovviamente,in questo caso,viene popolata la select 3 La mia
> impressione è che non chiami lo script. Questa è la pagina iniziale:
> -------------------------------------------------------------------
> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
> <html xmlns="http://www.w3.org/1999/xhtml">
> <head>
> <meta http-equiv="Content-Type" content="text/html; />
> <title>jquery e ajax</title>
> <script src="jquery-1.8-0.min.js" language="javascript"
> type="text/javascript"></script>
> <script language="javascript" type="text/javascript">
>
> $(document).ready(function() {
>
> // verifico quale select ha cambiato valore e setto,di
> conseguenza,la select da aggiornare
> $('select').each(function(){
> $(this).change(function() {
> var list_select_id=$(this).attr('id'); // ID
> select che ha cambiato valore
> var selectvalue = $(this).val(); // valore selezionato
> var par; // parametri
> var initial_target_html; // prima opzione
> switch (list_select_id)
> {
> case 0:
> list_target_id='#1';
> initial_target_html = '<option
> value="0">Seleziona una categoria</option>';
> par='id_cat='+seletvalue;
> break;
> case 2:
> list_target_id='#3';
> initial_target_html = "<option
> value='0'>Seleziona un'area/option>";
> par='id_area' + seletvalue;
> break;
> }
>
> alert(list_target+" - "+par);
> $(list_target_id).html(initial_target_html); //
> inserisce la prima opzione nel secondoo menù
>
> $('#'+list_select_id).change(function(e) {
> // visuualizza un messagio in attesa di caricaree
> u dati
> $(list_target_id).html('<option value="0">Sto
> caricando</option>');
> //if-else
> if (selectvalue == "") {
> // Se non è selezionata um'opzione nel primo
> menù,neò secondo viene visualizzata la prima opzione
> $(list_target_id).html(initial_target_html);
> } else {
> // richiest AJAX con GET
> $.ajax({url: 'ajax-scat.php?'+ par,
> success: function(output) {
> // visualizza le opzioni in caso di
> successo
> $(list_target_id).html(output);
> },
> error: function (xhr, ajaxOptions,
> thrownError) {
> // visualizza eventuali errori
> alert(xhr.status + " "+ thrownError);
> }
> }); // chiudo $.ajax
> } //if-else
> }); // chiudo $(list_select_id).change(
>
> });// chiudo $(this).change(
> });// chiudo $('select').each(
>
> }); //chiudo ready
>
> </script>
> </head>
> <body>
> <div style='position:absolute; top:150px; left:100px; width:900px;
> height:200px'>
> <?php
> include ("config_db.php"); // funzioni per la connessione al db
> include ("php_html.php"); // scrive codice html tramite php
> $db=connect();
> $m_cat=crea_menu($db,"categorie","cat","index.php",0,0,"cat");
> $m_area=crea_menu($db,"area","area","index.php",0,2,"area");
> mysql_close($db);
> $m_scat=crea_menu_nill(1,"scat");
> $m_uff=crea_menu_nill(3,"uff");
> $s="<form name='ins' method='post' action=''>";
> $s.="<table width='100%'>";
> $s.="<tr height=50>";
> $s.=ins_menu("Categoria :","5%",1,$m_cat,"30%",1,"top","","","",0);
> $s.=ins_menu("Sottocategoria
> :","5%",1,$m_scat,"30%",1,"top","","","",0);
> $s.="</tr>";
> $s.="<tr height=50>";
> $s.=ins_menu("Area :","5%",1,$m_area,"30%",1,"top","","","",0);
> $s.=ins_menu("Ufficio :","5%",1,$m_uff,"30%",1,"top","","","",0);
>
> $s.="</tr></table>";
>
> $s.=ins_submit();
> $s.="</form>";
> echo $s;
>
> ?>
> </div>
> </body>
> </html>
> ----------------------------------------------
> dove sbaglio?
> Ciao e grazie
>
> _______________________________________________
> http://www.llg.it
> latina mailing list
> latina@lists.linux.it <mailto:latina@lists.linux.it>
> http://lists.linux.it/listinfo/latina
>
>
>
>
> _______________________________________________
> http://www.llg.it
> latina mailing list
> latina@lists.linux.it
> http://lists.linux.it/listinfo/latina
--
-------------------------------
Junior Silvestro Pomenti
Latina
Sito Web: www.jusipom.it
Email: jusipom(at)gmail.com
info(at)jusipom.it
-------------------------------
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.linux.it/pipermail/latina/attachments/20160211/a404af1f/attachment.html>
Maggiori informazioni sulla lista
latina