Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Hit Enter key to Check or select checkbox

Newbie- I want to do 2 things with these checkboxes:

  1. Use TAB key to tab through options, this part works
  2. As I TAB through options, I want to hit ENTER key to select that check box, this part is NOT working

Below is sample code. I am using the checkboxes as a group.

Does any one have any suggestions?

<!doctype html>
    <head>
        <title>test Radio buttons checkbox</title>
        <script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
        <script type="text/javascript">
            $(document).ready(function(){
                $('input:checkbox[name=Colors]').keypress(function(event) {
                    var keycode = (event.keyCode ? event.keyCode : event.which);
                    if (keycode == 13) {
                        Checkbox_to_RadioButton(this);
                        alert("Enter key was pressed");
                    }   
                    event.stopPropagation();
                });

                $('input:checkbox[name=Colors]').click(function(){
                    Checkbox_to_RadioButton(this);
                });
            });

            function Checkbox_to_RadioButton(box){
                $('input:checkbox[name=' + box.name + ']').each(function(){
                    if (this != box)
                        $(this).attr('checked', false);
                });
            }
        </script>
    </head>

    <body>
        <h1>test Radio buttons checkbox</h1>
        <form name="form1">
            <input type="text" id="dname" name="dname"><br>
            <input type="checkbox" id="Colors" name="Colors" value="Red" />Red<br />
            <input type="checkbox"  id="Colors" name="Colors" value="Blue" />Blue<br />
            <input type="checkbox" id="Colors"  name="Colors" value="Green" />Green<br     />
            <input type="checkbox" id="Colors"  name="Colors" value="Yellow"         />Yellow<br /> 
            <br>
        </form>
    </body>
</html>
like image 327
Steve42 Avatar asked Sep 13 '12 12:09

Steve42


People also ask

How do you check checkbox is selected or not?

Checking if a checkbox is checked First, select the checkbox using a DOM method such as getElementById() or querySelector() . Then, access the checked property of the checkbox element. If its checked property is true , then the checkbox is checked; otherwise, it is not.

How do I make a checkbox accessible on my keyboard?

Since a checkbox is an interactive control, it must be focusable and keyboard accessible. If the role is applied to a non-focusable element, use the tabindex attribute to change this. The expected keyboard shortcut for activating a checkbox is the Space key.

What is check box button?

The checkbox button is similar to a checkbox in that it presents a user with a binary choice for an item. However, the only action a user can take is to add (or remove) an entity. When a user clicks the checkbox button, the entity is stored, similar to an 'add to cart' experience, until the user saves changes.


2 Answers

r3wt's approach works beautifully, but I noticed on my forms that pressing Enter would also submit the form or otherwise do something else unwanted. Adding e.preventDefault(); prevents the default browser action when pressing enter on the checkbox.

$('input:checkbox').keypress(function(e){
    e.preventDefault();
    if((e.keyCode ? e.keyCode : e.which) == 13){
        $(this).trigger('click');
    }
});
like image 75
rogi Avatar answered Sep 22 '22 17:09

rogi


I found the recommended solution to be too bloated. this works better

$('input:checkbox').keypress(function(e){
    if((e.keyCode ? e.keyCode : e.which) == 13){
        $(this).trigger('click');
    }
});
like image 41
r3wt Avatar answered Sep 20 '22 17:09

r3wt