Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 27
  1. #1
    Utente di HTML.it L'avatar di lukezz
    Registrato dal
    Feb 2010
    Messaggi
    494

    Disabilitare option di una select

    Salve a tutti,
    in una pagina ho delle select stampate dinamicamente con php, cosi:

    (html)

    codice HTML:
    <select name="n_camere[1]" id="n_camere" class="calcolo">
    <option data-prezzo="0" value="0">0</option>
    <option data-prezzo="'100'" value="1'">100</option>
    </select>
    
    <select name="n_camere[1]" id="n_camere" class="calcolo">
    <option data-prezzo="0" value="0">0</option>
    <option data-prezzo="'100'" value="1'">100</option>
    </select>
    
    <select name="n_camere[2]" id="n_camere" class="calcolo">
    <option data-prezzo="0" value="0">0</option>
    <option data-prezzo="'90'" value="1'">100</option>
    <option data-prezzo="'120'" value="2'">100</option>
    <option data-prezzo="'300'" value="3'">100</option>
    </select>
    
    <select name="n_camere[2]" id="n_camere" class="calcolo">
    <option data-prezzo="0" value="0">0</option>
    <option data-prezzo="'100'" value="1'">100</option>
    <option data-prezzo="'200'" value="2'">100</option>
    <option data-prezzo="'250'" value="3'">100</option>
    </select>
    le select sono collegate tra di loro con name="n_camere[x]", vorrei che (quelle con lo stesso id [x]) se dovessi selezionare la value con numero 3 mi bloccasse le option della select collegata, se dovessi selezionare 2 mi bloccasse 2 option della select collegata.

    Quel value equivale al numero di prodotti (infatti il prezzo è diverso), però i prodotti sono sempre 3 in questo caso.

    Se non avete capito niente, chiedete ^^

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Gli id devono essere univoci

    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it L'avatar di lukezz
    Registrato dal
    Feb 2010
    Messaggi
    494
    a me serviva qualcosa simile a questo:

    codice HTML:
    $('select[name*="homepage_select"]').change(function(){
           // start by setting everything to enabled 
       $('select[name*="homepage_select"] option').attr('disabled',false); 
           // loop each select and set the selected value to disabled in all other selects
        $('select[name*="homepage_select"]').each(function(){
            var $this = $(this);
            $('select[name*="homepage_select"]').not($this).find('option').each(function(){ 
              if($(this).attr('value') == $this.val())
                   $(this).attr('disabled',true);
            });   
     });  
      });
    In questo caso sui select homepage_select disabilita quelli già selezionati negli altri, a me servirebbe invece con i numeri se i prodotti sono 5 e ne seleziono 3 dal primo select, nel secondo select mi disabilita 3 4 5, quindi posso selezionare solo altri due

  4. #4
    Utente di HTML.it L'avatar di lukezz
    Registrato dal
    Feb 2010
    Messaggi
    494
    Guardate questo esempio in javascript : http://jsfiddle.net/MT5th/5/

    Invece di disabilitare il numero selezionato per esempio il 2 vorrei che disabilitasse gli ultimi due visto che 4 - 2 = 2, quindi saranno abilitati solo 1 e 2

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    vedi se ti va bene: http://jsfiddle.net/MT5th/6/

  6. #6
    Utente di HTML.it L'avatar di lukezz
    Registrato dal
    Feb 2010
    Messaggi
    494
    Non funziona, mi disabilita tutto

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    a me funziona, che browser stai usando?

  8. #8
    Utente di HTML.it L'avatar di lukezz
    Registrato dal
    Feb 2010
    Messaggi
    494
    chrome, se seleziono 1 nella prima select, mi deseleziona tutte le altre nella seconda, invece dovrebbe deselezionare solo la 4

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    se i prodotti sono 5 e ne seleziono 3 dal primo select, nel secondo select mi disabilita 3 4 5,


    se selezioni 1 ti disabilita da 1 in su(tutti tranne lo 0), non è questo che vuoi? evidentemente non ho capito cosa ti serve

    edit: questo? http://jsfiddle.net/MT5th/10/
    Ultima modifica di Vindav; 03-07-2015 a 17:11

  10. #10
    Utente di HTML.it L'avatar di lukezz
    Registrato dal
    Feb 2010
    Messaggi
    494
    no, se seleziono 1 dovrebbe deselezionare solo la 4, se seleziono la 2 mi deselezione 4 e 3. Poniamo il caso che queste due select sono per un prodotto, solo che in una ho delle condizioni e in una altre condizioni, quindi il numero di prodotti che ho in magazzino è sempre 4 e non 8. quindi se seleziono 2 prodotti dalla prima select (4-2) ne rimangono 2, quindi di deseleziona la 3 e la 4

    Edit:

    Si proprio questo , grazie mille!

    RiEdit:

    E se le select fossero 3?
    Ultima modifica di lukezz; 03-07-2015 a 17:14

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.