Back to top

Autore Topic: Checkbox group con opzioni condizionate  (Letto 1595 volte)

Offline carlo-di-pavia

  • Nuovo arrivato
  • *
  • Post: 22
  • Sesso: Maschio
  • Tra il dire e il fare c'è di mezzo "e il"
    • Mostra profilo
Checkbox group con opzioni condizionate
« il: 10 Dic 2013, 16:16:21 »
Ciao, come faccio a creare un Checkbox Group in cui scegliendo uno o più box si cambino i valori degli altri? Ad esempio, alla domanda "Ha fatto incidenti negli ultimi 5 anni?" le risposte sono:
No
Si, per colpa mia
Si, senza colpa
se clicco su No devono togliersi le spunte su tutti i Si del gruppo e viceversa, se clicco un Si deve togliersi la spunta sul No. Inoltre in base alle spunte devono apparire o scomparire dei campi, ma questo rientra nel topic http://forum.joomla.it/index.php/topic,226953.0.html
I valori delle opzioni dei checkbox devono essere nel formato "choice 1,2,3...n" o possono essere anche numeri e basta?

Grazie
Autodidatta informatico

Offline mmleoni

  • Global Moderator
  • Instancabile
  • ********
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:Checkbox group con opzioni condizionate
« Risposta #1 il: 17 Dic 2013, 13:49:23 »
visto che nessuno ha risposto  :(

nel caso specifico si usano i radio buttons, e non i checkbox, dato che le opzioni sono mutualmente esclusive.

in casi più generali, va implementato un controllo tramite js, magari basandosi su una libreria come jQuery che semplifica la scrittura del codice.

stesso discorso per i campi da far apparire o scomparire, si utilizza il trigger onchange del radio button per richiamare il codice js che nasconda o visualizzi i campi secondo le necessità.
non è molto difficile ma non è proprio da neofiti.

ciao
marco
mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

Offline carlo-di-pavia

  • Nuovo arrivato
  • *
  • Post: 22
  • Sesso: Maschio
  • Tra il dire e il fare c'è di mezzo "e il"
    • Mostra profilo
[RISOLTO] Re:Checkbox group con opzioni condizionate
« Risposta #2 il: 17 Dic 2013, 14:18:30 »
Grazie per la dritta.
Ho risolto con questo codice jquery inserito in Events -> Load JS
Codice: [Seleziona]
(function($){
  $(document).bind('ready', function() {
    $(window).load(function(){
      $('#sinistri_0').change(function() {
        if ($(this).is(':checked')) {
          $('#sinistri_1').prop('checked', false);
          $('#sinistri_2').prop('checked', false);
        }
      });
      $('#sinistri_1').change(function() {
        if ($(this).is(':checked')) {
          $('#sinistri_0').prop('checked', false);
        }
      });
      $('#sinistri_2').change(function() {
        if ($(this).is(':checked')) {
          $('#sinistri_0').prop('checked', false);
        }
      });
    });
  });
})(jQuery);

Il campo sinistri è una Checkbox Group con queste opzioni:
Codice: [Seleziona]
sinistri 1=No
sinistri 2=Si, resp. principale o paritaria
sinistri 3=Si, senza colpa

C'è un modo più semplice o più corretto di farlo?
Autodidatta informatico

Offline mmleoni

  • Global Moderator
  • Instancabile
  • ********
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:Checkbox group con opzioni condizionate
« Risposta #3 il: 17 Dic 2013, 14:37:45 »
direi quello di usare i radio button (in chronoforms "radio box") che sono stati sviluppati proprio per questo scopo, semmai le opzioni possono diventare quattro (se ho capito)

sinistri 1=No
sinistri 2=Si
sinistri 3=Si, con resp. principale o paritaria
sinistri 4=Si, solo senza colpa

oppure dividere le prime due risposte dalle altre che diventano attive solo se si sceglie sì. la prima soluzione è quella più veloce e più sicura.

comunque mi pare che ciò che hai scritto vada più che bene.

ciao,
marco


mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

 



Web Design Bolzano Kreatif