How do I check whether a checkbox is checked in jQuery?

前端 未结 30 3611
花落未央
花落未央 2020-11-21 04:44

I need to check the checked property of a checkbox and perform an action based on the checked property using jQuery.

For example, if the age checkbox is

30条回答
  •  迷失自我
    2020-11-21 04:58

    I decided to post an answer on how to do that exact same thing without jQuery. Just because I'm a rebel.

    var ageCheckbox = document.getElementById('isAgeSelected');
    var ageInput = document.getElementById('txtAge');
    
    // Just because of IE <333
    ageCheckbox.onchange = function() {
        // Check if the checkbox is checked, and show/hide the text field.
        ageInput.hidden = this.checked ? false : true;
    };
    

    First you get both elements by their ID. Then you assign the checkboxe's onchange event a function that checks whether the checkbox got checked and sets the hidden property of the age text field appropriately. In that example using the ternary operator.

    Here is a fiddle for you to test it.

    Addendum

    If cross-browser compatibility is an issue then I propose to set the CSS display property to none and inline.

    elem.style.display = this.checked ? 'inline' : 'none';
    

    Slower but cross-browser compatible.

提交回复
热议问题