jQuery: la soluzione definitiva per stabilire se una checkbox è stata selezionata

jQuery: la soluzione definitiva per stabilire se una checkbox è stata selezionata

Stabilire con certezza se una checkbox è stata selezionata o meno è alquanto difficile con i due metodi che jQuery ci fornisce, vale a dire attr() e prop(). Infatti entrambi questi metodi a volte non restituiscono il valore sperato.

Il metodo attr() viene frainteso dagli sviluppatori. Infatti questo metodo non restituisce affatto un valore booleano, ma una stringa:


var checkbox = $('#checkbox');
if(checkbox.attr('checked')) {
	//...
}

Il metodo prop(), dal canto suo, restituisce un valore booleano ma il risultato è spesso incoerente specie quando si inviano i form legando il codice all'evento submit.

La soluzione consiste nell'utilizzare la proprietà checked del DOM legata ad ogni checkbox. Questa proprietà restituisce un valore booleano ed è affidabile:


var checkbox = $('#checkbox')[0]; // elemento DOM
if(checkbox.checked) {
	//...
}

Torna su