Estoy teniendo un poco de problemas tratando de encontrar la manera de hacer que una cierta parte de mi código funcione.HTML checkbox onclick llamado en Javascript
<input type="checkbox" id="check_all_1" name="check_all_1" title="Select All" onclick="selectAll(document.wizard_form, this);">
<label for="check_all_1" onclick="toggleCheckbox('check_all_1'); return false;">Select All</label>
Este es mi código HTML que funciona como debería (haciendo clic en el texto se hará clic en el cuadro). El javascript porque es bastante simple:
function toggleCheckbox(id) {
document.getElementById(id).checked = !document.getElementById(id).checked;
}
Sin embargo quiero que el onclick que pasar para que la entrada cuando la etiqueta es lo que hace que la casilla de verificación que se hace clic. En este momento, onClick js no funciona. ¿Cuál es una sugerencia sobre cómo hacer esto? Intenté agregar el onclick de la entrada al clic de la etiqueta, pero eso no funciona.
Cualquier sugerencia/solución sería maravillosa.
Usando el atributo 'for' es tan bueno como poner la entrada dentro de la etiqueta, pero sí reduce el margen de beneficio de un poco . +1 por 'onchange' y pensando en nosotros los usuarios de teclado humilde :-) –
@Andy E - En teoría sí, en realidad no. IE 6 e IE 7 no manejan correctamente las etiquetas implícitas (http://www.evotech.net/blog/2009/09/ie6ie7-implicit-label-bug/). Las etiquetas explícitas son preferidas. –
Si colocar la etiqueta en el exterior hace que sea autoclickable, ya no se necesita el toggleCheckbox. Sin embargo, selectAll es, que si reemplazo el toggleCheckbox (this) para el selectAll en su ejemplo, no funciona en absoluto. Sin embargo, me gusta tener las etiquetas en el exterior y utilizar onchange en su lugar. – Craig