Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    272

    selezionare tutte le checkbox dinamiche

    Ciao a tutti,
    ho trovato su internet questo script:


    <TABLE WIDTH="20%" BORDER=1>
    <TR>
    <TD WIDTH="15%">CASELLA 1</TD>
    <TD WIDTH="4%"><INPUT TYPE="CHECKBOX" ID="CHKELIMINA1" VALUE=1></TD>
    </TR>

    <TR>
    <TD WIDTH="15%">CASELLA 2</TD>
    <TD WIDTH="4%"><INPUT TYPE="CHECKBOX" ID="CHKELIMINA2" VALUE=2></TD>
    </TR>

    <TR>
    <TD WIDTH="15%">CASELLA 3</TD>
    <TD WIDTH="4%"><INPUT TYPE="CHECKBOX" ID="CHKELIMINA3" VALUE=3></TD>
    </TR>

    <TR>
    <TD WIDTH="15%">CASELLA 4</TD>
    <TD WIDTH="4%"><INPUT TYPE="CHECKBOX" ID="CHKELIMINA4" VALUE=4></TD>
    </TR>

    <TR>
    <TD WIDTH="15%">CASELLA 5</TD>
    <TD WIDTH="4%"><INPUT TYPE="CHECKBOX" ID="CHKELIMINA5" VALUE=5></TD>
    </TR>

    </TABLE>

    <INPUT TYPE="BUTTON" ID="cmdselectall" VALUE="Seleziona tutti" ONCLICK=seleziona()>
    <INPUT TYPE="BUTTON" ID="cmdselectall" VALUE="Deseleziona tutti" ONCLICK=seleziona1()>
    <INPUT TYPE="BUTTON" ID="cmdselectall" VALUE="Invia" ONCLICK=valori()>


    <SCRIPT LANGUAGE=JAVASCRIPT>

    function seleziona()

    {
    var caselle=5;

    for(i=1 ; i<6 ; i++)

    {
    document.getElementById("CHKELIMINA"+i).checked=tr ue;
    }

    }


    function seleziona1()

    {
    var caselle=5;

    for(i=1 ; i<6 ; i++)

    {
    document.getElementById("CHKELIMINA"+i).checked=fa lse;
    }

    }


    function valori()

    {
    var caselle=5;
    var stringa="";

    for(i=1 ; i<6 ; i++)

    {

    if (document.getElementById("CHKELIMINA"+i).checked== true)
    stringa=stringa+" "+document.getElementById("CHKELIMINA"+i).valu e;

    }

    if (stringa=="")
    alert('Nessuna casella selezionata');
    else
    alert("Caselle selezionate"+stringa);

    }


    </SCRIPT>

    che crea una lista con la possibilità di selezionare o deselezionare tutte le checkbox, come posso modificarlo per usarlo tenendo conto che non ho una lista precisa in quanto i dati sono dinamici (per intenderci):

    <%
    While ((Repeat3__numRows <> 0) AND (NOT Rum.EOF))
    %>
    <input type="checkbox" name="checkbox" id="checkbox" class="testo" value="<%=(Rum.Fields.Item("id_account").Value)%>" >
    <%
    Repeat3__index=Repeat3__index+1
    Repeat3__numRows=Repeat3__numRows-1
    Rum.MoveNext()
    Wend
    %>

  2. #2
    Beh invece di cercare degli id puoi cercare il valore name (diciamo che sia "checkbox")

    codice:
    function seleziona() {
    
    var checkbox = document.getElementsByTagName('input');
    
    for (i=0;i<checkbox.length;i++) {
    
    if (checkbox[i].name == "checkbox") {
    
    checkbox[i].checked = true;
    
    }
    
    
    }
    
    }
    la stessa funzione la puoi adattare per deselezionare i campi e ricavare i valori

  3. #3
    ho come l'impressione che con questo riesce meglio ...
    codice:
    function seleziona() {
    	for(var
    		i = 0,
    		re = /checkbox/i,
    		checkbox = document.getElementsByTagName("input");
    		i < checkbox.length; i++
    	) {
    		if(re.test(checkbox[i].type))
    			checkbox[i].checked = true;
    	}
    }
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  4. #4
    Ma se cerca il name del checkbox evita che altri checkbox vengano selezionati, no?

  5. #5
    Originariamente inviato da dwj
    Beh invece di cercare degli id puoi cercare il valore name (diciamo che sia "checkbox")
    il name non è il valore, il valore del checkbox è checked mentre per sapere se un input è di tipo checkbox devi verificare il type poichè nello stesso (x)HTML scrivi
    <input type="checkbox" ....

    e non

    <input name="checkbox" ...

    il name è quello che arriva in request, quindi o non ho capito io o hai un pò di confusione tu
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  6. #6
    Si scusa, intendevo il valore dell'attributo name.

    io mi rifacevo al codice postato da darlette

    codice:
    <input type="checkbox" name="checkbox" id="checkbox" class="testo" value="<%=(Rum.Fields.Item("id_account").Value)%>">
    Ho tralasciato la verifica del tipo di campo, visto che se la funzione è specifica x quella pagina e quei checkbox con name "checkbox" (che casino) so x forza che sono checkbox allora posso fidarmi (come direbbe Fontecedro :P)

    Piuttosto è più comodo selezionare i checkbox attraverso il nome, così se ho checkbox chiamati "pippo" nn me li seleziona

  7. #7
    più checkbox con lo stesso nome non hanno senso, per quello ci sono i radio buttons, no?

    cmq speriamo risolva e pace
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    272
    scusate ho risolto così e pare funzioni:

    seleziona tutto

    deseleziona tutto

  9. #9
    Si è la soluzione che dice andr3a, solo che hai messo tutto il codice nell'onlick.

    @andr3a potrei usare checkbox con nomi uguali per raggruppare delle opzioni multiple per processarli in php:

    codice:
    <input type="checkbox" name="linguaggio[]" value="Java">
    <input type="checkbox" name="linguaggio[]" value="PHP">
    <input type="checkbox" name="linguaggio[]" value="ASP">
    <input type="checkbox" name="linguaggio[]" value=".NET"> 
    <input type="checkbox" name="linguaggio[]" value="JavaScript">

  10. #10
    Originariamente inviato da dwj
    @andr3a potrei usare checkbox con nomi uguali per raggruppare delle opzioni multiple per processarli in php:
    non hai usato nomi uguali, hai usato un array di valori che e' tutt'altra cosa e non c'entra molto col problema del 3D


    P.S. non e' che li processi in PHP, li processi con qualunque linguaggio
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

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.