I'm looking for a native JavaScript Solution that will prevent the user checking more than 2 items by disabling the remaining checkboxes (and enabling them again if the user unchecks one of their options)

Below are the checkboxes I have in place: 

```
<div class="checkboxdiv">
    <input type="hidden" name="Extras" value="">
    <input type="checkbox" name="Extras" value="Wedges"><label>Wedges</label> <br/>
    <input type="checkbox" name="Extras" value="Chips"><label>Chips</label> <br/>
    <input type="checkbox" name="Extras" value="Garlic Bread"><label>Garlic Bread</label> <br/>
    <input type="checkbox" name="Extras" value="Chicken Wings"><label>Chicken Wings</label> <br/>
    <input type="checkbox" name="Extras" value="Cheese Sticks"><label>Cheese Sticks</label>
</div>

```

I am aware this has been covered using JQuery, but I'm looking for a native solution so I can better understand how the code works.

**Solution**

This is the final solution I have come up with, through everyone's help.

```
function checkboxlimit(checkgroup, limit){
    var checkgroup=checkgroup;
    var limit=limit;
    //Changes onclick funtion for each checkbox
    for (var i=0; i<checkgroup.length; i++){
        checkgroup[i].onclick=  function(){

            var checkedcount=0;
            //Loops through checkboxes
            for (var i=0; i<checkgroup.length; i++){
            //adds 1 if checked, 0 if not
            checkedcount+=(checkgroup[i].checked)? 1 : 0;
            }

            //Loops through checkboxes
            for (var i=0; i<checkgroup.length; i++){

                //Disables check box if it's unchecked and the limit has been reached
                if(!checkgroup[i].checked && checkedcount==limit){
                    checkgroup[i].disabled=true;
                }

                //Enables all checkboxes otherwise
                else{
                    checkgroup[i].disabled=false;
                }
            }
        }
    }
}

```