Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [jquery] selezionare checkbox onmouseover + pressione del tasto SHIFT.. possibile?

    Salve, domanda folle.
    Ho a video una tabella con ad esempio 200 checkbox ordinati in 20 righe e 10 colonne.
    Dovrei spuntarli per gestire una specie di pannello disponibilità, quindi può succedere di spuntarne 10 sì, 2 no, 40 sì, 5 no ecc....
    Invece di fare click uno per uno, pensavo di fare uno script che ONMOUSEOVER mi selezionasse automaticamente i vari checkbox.
    Il problema avviene quando mi sposto fuori dalla tabella.
    Cioè... se ci pensate... dove passo si attiva il check box.
    Quindi... c'è la possibilità in jQuery di mettere come condizione ONMOUSEOVER + ONKEYPRESS ?

    Quindi... tengo premuto SHIFT, passo sopra i checkbox e si flaggano... se NON tengo premuto SHIFT non succede nulla...
    mmmmmmmmmmmmmmmmmmmmmm........

  2. #2
    Penso non sia tanto capibile per un utente, ma si fa cosi:

    codice:
    <head>
        <title>hover in chb + press key</title>
        <script src="http://code.jquery.com/jquery.min.js" type="text/javascript"></script>
        <script type="text/javascript">
            $(function(){
                var m_boolPressShift = false;
                
                $(window).keydown(function(event) {
                    if (event.keyCode == '16') {
                        m_boolPressShift = true;
                        event.preventDefault();
                        return;
                    }
                });
                
                $(window).keyup(function(event) {
                    if (event.keyCode == '16') {
                        m_boolPressShift = false;
                        event.preventDefault();
                        return;
                    }
                });
                
                $(".chbTest").hover(
                    function(){
                        if(m_boolPressShift){
                            if($(this).prop("checked")){
                                $(this).prop("checked", false);
                            }else{
                                $(this).prop("checked", true);
                            }
                        }
                    },
                    function(){
                        // mouse out
                    }
                );
            });
        </script>
    </head>
    <body>
        
        <input id="chb1" class="chbTest" type="checkbox" />
        <input id="chb2" class="chbTest" type="checkbox" />
        <input id="chb3" class="chbTest" type="checkbox" />
        <input id="chb4" class="chbTest" type="checkbox" />
        <input id="chb5" class="chbTest" type="checkbox" />
    </body>
    siti di riferimento:
    http://api.jquery.com/keydown/
    http://api.jquery.com/keyup/
    http://api.jquery.com/prop/

    Leonardo

  3. #3
    Cavolo... manna dal cielo.
    Grazie

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.