Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2004
    Messaggi
    181

    [jQuery] selezione div di una select

    Problema urgente select jquery
    Salve ragazzi ho questo problema. In precedenza avevo creato delle jquery per la selezione di regioni al click su una mappa oppure alla modifica di una select, e la comparsa di select annidate ( evento onchange).

    Adesso ho dovuto duplicare tutto quello che avevo fatto per una singola ricerca con select annesse, nei rispettivi tabs jquery implementando così diverse ricerche sempre sulla stessa mappa.

    Il punto è questo, ho la seguente inizializzazione di variabile quando avviene l'evento oncheange su una select:
    codice:
    codice:
    var $regione = jQuery("select#regioni option:selected").attr('value');//prelevo il valore selezionato nella select da passare tramite post (numerico)
    Ma adesso questa inizializzazione si riferisce sempre e solo al primo tab, mentre vorrei che a seconda del tab cliccato vengano reinizializzati i valori selected della select. In quanto come sta a desso, tutto dipende dalla selezione nel primo tabs.

    i tabs sono i seguenti codice:
    codice:
    <div id="container-1">
    <ul>
    	[*]Cerca Immobili[*]Cerca Terreni
    	[*]Cessioni Attività
           	[*]Trova Agenzie[/list]
    <div id="fragment-13" class="fragment-13">
    	<div id="selectBox">
    		<?php include 'ricerca_immobili.php';?>
    	</div>
    </div>
    <div id="fragment-14" class="fragment-14">
    	<div id="selectBox">
    		<?php include 'ricerca_terreno.php';?>
    	</div>
    </div> 
    .. ecc
    Dove in ogni include php sono presenti le select con id regione.

    Come posso modificare
    jQuery("select#regioni option:selected")

    in modo che appartenga al rispettivo tabs cliccato? Mi serve il percorso

    tipo container-1 > ecc solo non so come arrivarici. avevo pensato di fare

    jQuery("div#container-1").children().each(function()...

    ma non so se è corretto e in ogni modo come farlo.

    Mi potreste aiutare?

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2004
    Messaggi
    181
    Forse ho capito... con l'evento onclick sull'ul mi prendo l'attributo href e lo metto in una var, dopodichè nella select metto come prefisso la variabile prelevata al click... devo provare

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2004
    Messaggi
    181
    Ragazzi ho fatto così:
    jQuery(+$fragment+" > form > select#regioni").change(function(){ ecc

    dove $fragment è uguale a #fragment-13 14 ecc

    ma sembra che non entra proprio nella funzione.

    sapete perche?

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2004
    Messaggi
    181
    Originariamente inviato da maforast
    Ragazzi ho fatto così:
    jQuery(+$fragment+" > form > select#regioni").change(function(){ ecc

    dove $fragment è uguale a #fragment-13 14 ecc

    ma sembra che non entra proprio nella funzione.

    sapete perche?
    Avevo mancato un div, in ogni caso continua a funzionare solo per il primo tab. Adesso l'evento onchange della select, fatta da altri tabs, non funziona. Questo nonostante la variabile fragment viene correttamente impostata con l'evento onclick:

    jQuery("div"+$fragment+" > form > selectBox > select#regioni").change(function(){ ecc

    Sapete il perchè?

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2004
    Messaggi
    181
    Originariamente inviato da maforast
    Avevo mancato un div, in ogni caso continua a funzionare solo per il primo tab. Adesso l'evento onchange della select, fatta da altri tabs, non funziona. Questo nonostante la variabile fragment viene correttamente impostata con l'evento onclick:

    jQuery("div"+$fragment+" > form > selectBox > select#regioni").change(function(){ ecc

    Sapete il perchè?

    Risolto, ho portato tutto il codice della select sotto l'evento onclick.. ma mi sembra un pò anomalo che ne dite?

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    Dove in ogni include php sono presenti le select con id regione.
    Non bisogna mai assegnare lo stesso identico id a piu elementi html, l'id nella pagina deve essere sempre univoco!

    Avresti dovuto chiamarlo tipo fragment-13_regione,fragment-14_regione ecc... è solo un consiglio poi vedo che hai risolto cmq, meglio cosi.

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2004
    Messaggi
    181
    Originariamente inviato da Vindav
    Non bisogna mai assegnare lo stesso identico id a piu elementi html, l'id nella pagina deve essere sempre univoco!

    Avresti dovuto chiamarlo tipo fragment-13_regione,fragment-14_regione ecc... è solo un consiglio poi vedo che hai risolto cmq, meglio cosi.
    Vindav scusa ma non ho capito bene. Io assegno divesi id ai vari tabs, ovvero fragment-13 per il primo, fragment-14 per il secondo e così via. Dove hai notato id uguali?

    Grazie

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    Dove in ogni include php sono presenti le select con id regione.
    Questa frase a me fa capire che per ogni tab ci sta una select con lo stesso identico id... ho capito male?

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2004
    Messaggi
    181
    Originariamente inviato da Vindav
    Questa frase a me fa capire che per ogni tab ci sta una select con lo stesso identico id... ho capito male?
    No prima era cosi poi dopo ho creato una variabile nell'evento onclick che cattura il fragment che è stato cliccato. La select viene effettuata su questa variabile.


    jQuery("div"+$fragment +" > form > selectBox > select#regioni").change(function(){ ecc


    aaa ho capito che intendi dici nella select sta lo stesso id, si è cosi hai ragione. Ma non so come cliclare i vari id, era proprio quello che cercavo e per cui ho aperto la discussione.

    Magari sfrutto l'occasione per imparare qualcosa tu non sai come potrei fare? Allo stato attuale riscriverei le chiamate jQuery singolarmente per ogni id diverso ma mi sembra troppo oneroso e poco elegante.

  10. #10
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    faccio fatica a seguirti cmq ti posto un esempio:

    codice:
    <div id="fragment-13">
    <select class="classSelect" id="fragment-13_regioni"></select>
    </div>
    <div id="fragment-14">
    <select class="classSelect" id="fragment-14_regioni"></select>
    </div>
    
    jQuery(".classSelect").change(function(){
       var $regione = $(this).val();
    }
    Cosi recuperi il valore della select che è stata cambiata dall'utente, perche parli di cicli?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.