web-dev-qa-db-fra.com

jQuery vérifier si une entrée est de type case à cocher?

Je voudrais savoir si une entrée est une case à cocher ou non, et ce qui suit ne fonctionne pas:

$("#myinput").attr('checked') === undefined

Merci une fois de plus!

142
Rio

Vous pouvez utiliser le pseudo-sélecteur :checkbox avec un appel à la fonction is de jQuery:

$('#myinput').is(':checkbox')
313
Ken Browning
>>> a=$("#communitymode")[0]
<input id="communitymode" type="checkbox" name="communitymode">
>>> a.type
"checkbox"

Ou, plus du style de jQuery:

$("#myinput").attr('type') == 'checkbox'
22
Esteban Küber
$("#myinput").attr('type') == 'checkbox'
10
chaos

Une solution non jQuery ressemble beaucoup à une solution jQuery:

document.querySelector('#myinput').getAttribute('type') === 'checkbox'
6
George

Utilisez cette fonction:

function is_checkbox(selector) {
    var $result = $(selector);
    return $result[0] && $result[0].type === 'checkbox';
};

Ou ce plugin jquery:

$.fn.is_checkbox = function () { return this.is(':checkbox'); };
2
Anatoliy