Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 21
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2012
    Messaggi
    54

    2 select concatenate (senza database)

    Buona sera a tutti, spero di non aver sbagliato sezione, forse dipende anche dall'approccio.
    Premetto la mia poca esperienza, serve per una pagina di un sito (html, php, javascript).
    Ho 2 select per la scelta nazione, una delle quali deve essere italia, queste select sono selezionate su seleziona nazione.
    La mia idea è che l'utente, può scegliere da entrambe le select una nazione.
    Se sceglie estero alla prima select, automaticamente la seconda select sarà impostata su Italia, oppure su "seleziona stato", ma la scelta si restringe a solo italia.
    Stesso discorso a select invertite, se sceglie una nazione estera nella seconda select.
    Al cambio si dovrà aggiornare l'altra select.
    Esempio se sceglie estero e poi cambia e mette italia, l'altra select ricompariranno gli stati esteri.
    Se invece la scelta cade su Italia, mi potrebbe servire in entrambi i modi, sia escludendo italia-italia (cioè se in una select viene scelto italia, l'altra select avrà solo gli stati esteri), sia italia-italia accettati (se mette italia avrò tutti gli stati esteri e italia).
    Se invece rimette su seleziona stato ritornano magicamente tutte le opzioni (italia e estero).
    Ho visto su una guida la possibilità in base alla scelta di creare gli elementi che compongono la scelta.
    La mia idea era al cambio della select in base al valore faccio comparire le opzioni dell'altra select:
    [escludendo italia-italia]
    (select1)
    onchange
    if(stato=="scegli stato"){
    gruppo1(italia)=show()
    gruppo2(estero)=show()
    }
    else if (stato=="italia")
    gruppo1(italia)=hide()
    gruppo2(estero)=show()
    else
    gruppo1(italia)=show()
    gruppo2(estero)=hide()

    select 2 idem con le dovute differenze.
    Mentre se italia italia è accettato, posso mettere solo:
    if(stato=="estero"){
    gruppo2(estero)=hide()
    }
    else
    gruppo2(estero)=show()

    (ho usato un linguaggio pseudo logico perchè non riesco a tradurlo in javascript)
    Dite che potrebbe funzionare questa soluzione?
    Perchè creare una lista per ogni opzione, dovrei scrivere 20 volte la stessa lista.
    Usare il database mi sembra assurdo per una ventina di nazioni.
    Alla peggio potrei lasciare libero e usare un allert.
    Grazie a chiunque mi aiuta

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    vedi se questa discussione può esserti d'aiuto
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2012
    Messaggi
    54
    Grazie, avevo visto quella discussione, ho riguardato, ma non ho trovato una risposta simile.
    L'utente Pugia ha posto un quesito simile:
    "ho una serie di select e con gli stessi elementi, vorrei fare in modo che scegliendo un elemento, questo sparisca dall'alenco degli altri, è fattibile come cosa? "
    Le risposte che ha avuto implicavano o il database o la creazione di liste per ogni scelta possibile (strada che prenderei se non fosse possibile fare altrimenti).
    Inoltre con la lista c'è una select "bloccata".
    La mia intenzione era che potevano partire da entrambe le select ed entrambe si aggiornassero reciprocamente
    al onchange controlla il dato selezionato e in base alla scelta fa sparire-apparire gli elementi tipo:
    <select.... onchange="Funzione StatoM(this);">
    <div id="toshow1M" style="display: none;">
    <option value="Estonia">Estonia</option>
    <option value="Finlandia">Finlandia</option>
    <option value="Francia">Francia</option>
    </div>
    <div id="toshow2M" style="display: none;">
    <option value="italia">itali</option>
    </div>

    </select>
    <select ...onchange="Funzione StatoD(this);>
    <div id="toshow1D" style="display: none;">
    <option value="Estonia">Estonia</option>
    <option value="Finlandia">Finlandia</option>
    <option value="Francia">Francia</option>
    ......
    </div>

    <div id="toshow2M" style="display: none;">
    <option value="italia">itali</option>
    </div>
    E' fattibile?
    Ho trovato una cosa simile che fa apparire un input text, il problema che lavora sull'input.
    non so se si può lavorare direttamente sulle option oppure devo fare come ho fatto sopra.

    codice:
    <script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script> <script type="text/javascript"> 
    $(document).ready(function() { 
    $(".group1").hide(); $("#tuoSelect").change(function() {
     if ($(this).find("option:selected").attr("id") == "group1") $(".group1").show("normal");
     else 
    $(".group1").hide("normal");
     }).change(); }); 
    </script>
    ----------------------------------------------------
    codice:
     <select id="tuoSelect">
        <option value="Bonifico Bancario" id="group5">Bonifico Bancario
        <option value="Assegno Circolare" id="group4">Assegno Circolare
        <option value="Assegno di Libretto" id="group3">Assegno di Libretto
        <option value="Contanti" id="group2">Contanti
        <option value="Altro" selected id="group1">Altro
      </select>
      <input class="group1" name="tipopagamento" type="text" maxlength="35" value="prova"/>

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Togliere una option da una select avendo il valore:

    esempio stringatissimo
    codice:
      <form name=mioForm>
      <select name=miaSelect>
      <option value="a">a</option>
      <option value="b">b</option>
      <option value="c">c</option>
      <option value="d">d</option>
      </select>
      </form>
    <script>
      valore="c"
      s = document.mioForm.miaSelect;
      for (var i=0;i<s.options.length;i++) {
        if (s.options[i].value==valore) {
          s.options[i] = null;
        }
      }
    </script>
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2012
    Messaggi
    54
    Grazie gentilissimo, quindi imposto le opzioni a null e spariscono, nell'esempio c'è una select sola, inoltre non capisco come fa partire lo script (o forse è solo perchè è sintetizzato).
    Gli passo la posizione in pratica.
    Se non capisco male mi toglie quello selezionato da me con valore="c" e penso di riuscire ad adattarlo alle mie esigenze, ma non so come richiamare quei valori nelle opzione dell'altra select.
    Inoltre il togliere dipende da quello che seleziona lui

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2012
    Messaggi
    54
    Ho provato, ma sicuramente sbaglio qualcosa

    codice:
    <form name="myForm" >
     <select name="stamit" id="stamit" onchange='
     valore="Austria"; s = document.myForm.stades;
     for (var i=0;i<s.options.length;i++) {
     if (s.options[i].value==valore) {
     s.options[i] = null; } } '>
     <option selected="selected" value="XX">Seleziona stato..</option>
     <option value="Austria">Austria</option> 
    <option value="Belgio">Belgio</option>
     <option value="Bulgaria">Bulgaria</option>
     <option value="Cipro">Cipro</option> 
    ......
     </select> 
    <select name="stades" id="stades" 
    onchange=' valore="Italia";
     s = document.myForm.stades;
     for (var i=0;i<s.options.length;i++)
     if (s.options[i].value==valore) s.options[i] = null; ' >
     <option selected="selected" value="XX">Seleziona stato..</option> ....
    value="Finlandia">Finlandia</option>
     <option value="Francia">Francia</option>
     <option value="Germania">Germania</option> 
    <option value="Grecia">Grecia</option> 
    <option value="Italia">Italia </option> 
    <option value="Malta">Malta</option>
    .....</select>
    </form>
    Non mi funziona

  7. #7
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Come faresti a togliere quelle option ?... non esistono nell'altra select
    E poi in entrambe elimini una opzione della stessa select... rivedi la logica.
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2012
    Messaggi
    54
    Ho messo i puntini per non mettere tutte le opzioni qui che mi sembrava intasare il forum con linguaggio secondo me non rilevante.
    è vero uno dei 2 è nella stessa select
    codice:
    <form name="myForm" > 
    <select name="stamit" id="stamit" onchange=' valore="Italia"; 
    s = document.myForm.stades;
     for (var i=0;i<s.options.length;i++) { 
    if (s.options[i].value==valore) { 
    s.options[i] = null; } } '> 
    <option selected="selected" value="XX">Seleziona stato..</option> 
    <option value="Austria">Austria</option> 
    <option value="Belgio">Belgio</option> 
    <option value="Bulgaria">Bulgaria</option>
     <option value="Cipro">Cipro</option> 
    <option value="Danimarca">Danimarca</option> 
    <option value="Estonia">Estonia</option> 
    <option value="Finlandia">Finlandia</option>
     <option value="Francia">Francia</option> 
    <option value="Germania">Germania</option>
     <option value="Grecia">Grecia</option>
     <option value="Italia">Italia </option>
     <option value="Malta">Malta</option>
     <option value="Olanda">Olanda</option>
     <option value="Polonia">Polonia</option>
     <option value="Portogallo">Portogallo</option>
     <option value="Regno Unito">Regno Unito</option>
     <option value="Rep Ceca">Rep Ceca</option> 
    <option value="Romania">Romania</option> 
    <option value="Slovacchia">Slovacchia</option> 
    <option value="Slovenia">Slovenia</option> 
    <option value="Spagna">Spagna</option>
     <option value="Svezia">Svezia</option> 
    <option value="Ungheria">Ungheria</option> 
    </select>
     <select name="stades" id="stades" onchange='
    		valore="Italia";
    	s = document.myForm.stamit;
      for (var i=0;i<s.options.length;i++) 
        if (s.options[i].value==valore) 
          s.options[i] = null;
        ' >
              <option selected="selected" value="XX">Seleziona stato..</option>          
              <option value="Austria">Austria</option>
              <option value="Belgio">Belgio</option>
              <option value="Bulgaria">Bulgaria</option>
              <option value="Cipro">Cipro</option>
              <option value="Danimarca">Danimarca</option>
              <option value="Estonia">Estonia</option>
              <option value="Finlandia">Finlandia</option>
              <option value="Francia">Francia</option>
              <option value="Germania">Germania</option>
              <option value="Grecia">Grecia</option>
              <option value="Italia">Italia </option>
              <option value="Malta">Malta</option>
              <option value="Olanda">Olanda</option>
              <option value="Polonia">Polonia</option>
              <option value="Portogallo">Portogallo</option>
              <option value="Regno Unito">Regno Unito</option>
              <option value="Rep Ceca">Rep Ceca</option>
              <option value="Romania">Romania</option>
              <option value="Slovacchia">Slovacchia</option>
              <option value="Slovenia">Slovenia</option>
              <option value="Spagna">Spagna</option>
              <option value="Svezia">Svezia</option>
              <option value="Ungheria">Ungheria</option>
          </select>
    
    </form>
    Continua a non funzionare

    Ps Sbaglio o posso togliere le graffe?
    codice:
    for (var i=0;i<s.options.length;i++) 
    { if (s.options[i].value==valore) 
    { s.options[i] = null; } 
    }

  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2012
    Messaggi
    54
    Up

  10. #10
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Le due select hanno le option fisse o sono dinamiche recuperate da un db
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

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.