Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di renzoz
    Registrato dal
    May 2001
    Messaggi
    305

    Selezione blocco checkbox differenziata

    Ciao,
    ho questo script per selezionare un blocco di checkbox:
    <script language="JavaScript">
    <!--
    function tuttiPaese(f) {
    var e=f.elements;
    for (var i=0; i<e.length; i++)
    if (e[i].type=="checkbox") e[i].checked=f.campo.checked;
    }
    //-->
    </script>

    <input style="background-color:#00FF00;" type="checkbox" name="campo" onclick="tuttiPaese(this.form);" />

    Ma se sullo stesso documento avessi 2 serie di checkbox da selezionare in blocco ciascuna con un proprio checkbox con onclick="tutti(this.form);" come posso fare? Dovrei chiamarli per "id" ma.. non ci riesco

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    E` piu` semplice chiamarli per name (i name possono ripetersi, gli id no).
    codice:
     function selTutti(cb,n) {
      var e=cb.form.elements;
      for (var i=0; i<e.length; i++)
      if (e[i].type=="checkbox" && e[i].name==n) {
        e[i].checked = cb.checked;
      } 
    }
    da chiamare con:
    onclick="tuttiPaese(this, 'NOME_CHKBX');"

    dove NOME_CHKBX e` da sostituire con i nomi dei checkbox da selezionare/deselez

    Nota che ho passato l'oggetto del checkbox, cosi` non serve usare il nome del checkbox nella funzione
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Utente di HTML.it L'avatar di renzoz
    Registrato dal
    May 2001
    Messaggi
    305
    Ti ringrazio molto Mich ma non funziona cosi (non dà neppure errori):

    <script language="JavaScript">
    <!--
    function selTutti(cb,n) {
    var e=cb.form.elements;
    for (var i=0; i<e.length; i++)
    if (e[i].type=="checkbox" && e[i].name==n) {
    e[i].checked = cb.checked;
    }
    }
    //-->
    </script>

    <input style="background-color:#00FF00;" type="checkbox" onclick="selTutti(this,'paese');" /> SELEZIONA TUTTI

    <input type=\"checkbox\" name=\"paese[]\" value=\"$rw[idp]\">
    <input type=\"checkbox\" name=\"paese[]\" value=\"$rw[idp]\">
    <input type=\"checkbox\" name=\"paese[]\" value=\"$rw[idp]\">
    <input type=\"checkbox\" name=\"paese[]\" value=\"$rw[idp]\">
    ....


    già cosi non funzia, poi dovrei aggiungere:


    <input style="background-color:#00FF00;" type="checkbox" onclick="selTutti(this,'tipo');" /> SELEZIONA TUTTI

    <input type=\"checkbox\" name=\"tipo[]\" value=\"$rw[idt]\">
    <input type=\"checkbox\" name=\"tipo[]\" value=\"$rw[idt]\">
    <input type=\"checkbox\" name=\"tipo[]\" value=\"$rw[idt]\">
    <input type=\"checkbox\" name=\"tipo[]\" value=\"$rw[idt]\">
    ....


    Dove sbaglio?

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Il nome dei tuoi campi e` "paese[]", non "paese";
    quindi dovrebbe funzionare chiamando con:
    onclick="selTutti(this,'paese[]');"

    Altrimenti fammelo sapere, che occorre implementare dei metodi alternativi (che ci sono).
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    Utente di HTML.it L'avatar di renzoz
    Registrato dal
    May 2001
    Messaggi
    305
    No adesso funziona perfettamente, era solo il problema delle parentesi.
    Grazie mille Mich

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.