Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13

Discussione: checkbox disable

  1. #1

    checkbox disable

    function checkUncheck(check)
    {
    var checks = document.getElementsByName('sel_check1');
    for(i = 0; i < checks.length; i++)
    {
    if checks[i].disabled=false
    {
    checks[i].checked = check.checked;

    }

    }
    }

    questa funzione è richiamata da un checkbox posto nell'intestazione che ha il compito quando fleggato di fleggare tutti gli altri checkbox inseriti nelle righe della tabella.

    in questa funzione però vorrei fare in modo che per x i checkbox disabled, i checkbox non vengano presi in considerazione.....

    ho provato ad inserire la voce if checks[i].disabled=false ma non FUNZIONA
    mi potete aiutare?
    grazie mille

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    codice:
    function checkUncheck(check) 
    { 
    var checks = document.getElementsByName('sel_check1'); 
    for(i = 0; i < checks.length; i++) 
    { 
    if(!checks[i].disabled) checks[i].checked = check.checked;	
    } 
    }

  3. #3
    Funziona
    Vindav come sempre grazie mille x la tua disponibilità
    ciao
    fab

  4. #4
    VIndav per fare in modo che quando clicco sulla checkbox della funzione sotto mi colori tutte le check fleggate???

    codice:
    function checkUncheck(check) 
    { 
    var checks = document.getElementsByName('sel_check1'); 
    for(i = 0; i < checks.length; i++) 
    { 
    if(!checks[i].disabled) checks[i].checked = check.checked;	
    } 
    }
    quando l'utente seleziona la checkbox della riga il colore della riga cambia con questa funzione
    codice:
    function row_highlight(trObj, checkboxObj, origClass) 
    { 
    	if (event.srcElement.tagName.toLowerCase() == 'td' || event.srcElement.tagName.toLowerCase() == 'tr') { 
    	checkboxObj.checked = !checkboxObj.checked; 
    	} else if (event.srcElement.tagName.toLowerCase() == 'input') { 
    	event.cancelBubble = true; 
    	} 
    	if (trObj.className == 'highlightedRow') { 
    	trObj.className = origClass; 
    	} else { 
    	trObj.className = 'highlightedRow'; 
    	} 
    }
    è possibile richiamarla dalla funzione del checkbox primario in modo che mi selezioni tutte le righe con un solo flag???
    non so se mi sono spiegato

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    Fai una prova cosi:

    codice:
    function checkUncheck(check) { 
    	var checks = document.getElementsByName('sel_check'); 
    	for(i = 0; i < checks.length; i++){ 
    		if(!checks[i].disabled){
    	             checks[i].checked = check.checked;
    		     row_highlight(checks[i].parentNode.parentNode,checks[i],'');
                    }
    	} 
    }

  6. #6
    grande funziona benissimo
    c'è soltanto una cosa che non va

    se io clicco sul checkbox principale mi colora e seleziona tutte le righe e VA BENE

    se levo la spunta ad un check di qualsiasi riga torna al colore originario e VA BENE

    poi se levo la spunta anche al check principale

    quella singola riga spuntata inizialmente mi cambia colore mentre tutte le altre spuntate tornano del colore ORIGINARIO... e non VA BENE

    anche quella singola riga deve tornare al colore originario

    come si può fare? forse bisognerebbe fare un controllo sullo stato del check

  7. #7
    forse il controllo va fatto in questa funzione

    codice:
    function row_highlight(trObj, checkboxObj, origClass) 
    { 
    	if (event.srcElement.tagName.toLowerCase() == 'td' || event.srcElement.tagName.toLowerCase() == 'tr') { 
    	checkboxObj.checked = !checkboxObj.checked; 
    	} else if (event.srcElement.tagName.toLowerCase() == 'input') { 
    	event.cancelBubble = true; 
    	} 
    	if (trObj.className == 'highlightedRow') { 
    	trObj.className = origClass; 
    	} else { 
    	trObj.className = 'highlightedRow'; 
    	} 
    }

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    codice:
    function checkUncheck(check) { 
    	var checks = document.getElementsByName('sel_check'); 
    	for(i = 0; i < checks.length; i++){ 
    		if(!checks[i].disabled){
    			if(checks[i].checked || (check.checked && checks[i].parentNode.parentNode.className == ''))
    				row_highlight(checks[i].parentNode.parentNode,checks[i],'');
    			checks[i].checked = check.checked;
    		}
    	} 
    }

  9. #9
    funziona !!!!!!!!!!!!!!
    grazie mille Vindav
    ciaoo
    fab

  10. #10
    ci sono momenti però che continua a darmi lo stesso problema.... cioè se io seleziono prima una riga qualsiasi mettendo la spunta ad un checkbox e poi clicco il checkprimario tutti diventano dello stesso colore se poi però tolgo il flag al checkprimario quella riga selezionata rimane colorata ma senza spunta o viceversa
    se però premo piu volte il checkprimario (quello nell'intestazione) i colori si ripristinano nello stesso ordine (scuri check fleggati e chiari check non fleggati)

    qualcosa non va

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 © 2024 vBulletin Solutions, Inc. All rights reserved.