Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di tigh
    Registrato dal
    Dec 2007
    Messaggi
    52

    checkbox seleziona/deseleziona tutto

    allora sto usando questa funzione per selezionare/deselezionare una serie checkbox con un'unica checkbox

    (credit Shawn Olson & http://www.shawnolson.net)

    function checkUncheckAll(theElement) {
    var theForm = theElement.form, z = 0;
    for(z=0; z<theForm.length;z++){
    if(theForm[z].type == 'checkbox' && theForm[z].name != 'checkall'){
    theForm[z].checked = theElement.checked;
    }
    }
    }

    che viene richiamata così
    <input type="checkbox" name="checkall" onclick="checkUncheckAll(this);"/>select/unselect</form>


    ora la sto usando in una versione modificata che prende come argomenti i valori di inizio e fine ciclo perchè ho una tabella di checkbox e volevo una chekbox seleziona/deseleziona tutto alla fine di ogni riga... (la tabella è generata dinamicamente con php)

    ora vorrei modificare la funzione perché agisse in base all'id della checkbox (se l'id è uguale a 'var' ecc... ) questo mi serve per poter selezionare le checkbox della tabella anche per colonne, cioè in cima ad ogni colonna vorrei una checkbox che agisse su tutte le checkbox di quella colonna...
    ho fatto un po' di tentativi ma nessuno ha funzionato... confesso che sto andando un po' alla cieca perché ho appena iniziato a conoscere javascript...

    avete qualche suggerimento? o anche altri esempi utili?
    My name is Saul Tigh, I am an officer in the Colonial Fleet. Whatever else I am, whatever else it means, that's the man I want to be. And if I die today, that's the man I'll be.

  2. #2
    Utente di HTML.it L'avatar di tigh
    Registrato dal
    Dec 2007
    Messaggi
    52
    ..io ho provato a mettere nelle condizioni dell'if:

    theForm[z].id == 'col1'
    e anche
    theForm[z].name == 'col1'

    al posto del theForm[z].type == 'checkbox'

    perchè ho bisogno di poter selezionare le colonne in base all'id della checkbox... oppure anche il base al nome... ma non funziona...
    My name is Saul Tigh, I am an officer in the Colonial Fleet. Whatever else I am, whatever else it means, that's the man I want to be. And if I die today, that's the man I'll be.

  3. #3
    Dunque: hai una tabella di checkbox.

    Vuoi poterli selezionare per riga oppure per colonna. Utilizzando l'id o il nome per capire di che colonna o riga fanno parte.

    Innanzitutto ricordati che gli id degli elementi devono essere tutti diversi. Non puoi assegnare lo stesso id a tutti gli elementi di una colonna. Per definizione l'id deve essere univoco.

    Potresti invece usare il nome e la funzione getElementsByName(). Pero' poi ti trovi con tanti oggetti con lo stesso nome e cio' causa confuzione se poi devi passare i valori in GET o POST.

    Potresti assegnare ad ogni elemento un id del tipo "riga_x_colonna_y"

    e poi fare cosi'

    if (theForm[z].id.search("col_1") !=-1)
    {
    bla bla bla
    }

    dovrebbe andare

    oppure puoi giocare sul valore di z. Ad esempio in una tabella 10 x 10 sai che la terza riga sono tutti gli elementi con z che va da 20 a 29

    mentre la terza colonna sono tutti gli elementi per i quali il resto di z diviso 10 fa 2

    ciao

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.