Marcar Todos
Posted by Mathias Grimm on junho 24, 2008 in JavaScript
Bom... esse artigo é pra começar, um exemplo simples e útil!
O código está dividido em 2 partes mas eles ficam no mesmo arquivo...
A idéia é criar uma função javascript que percorra os elementos do formulario e compare o id dos elementos com o id do elemento que foi clicado.
Na linha 26 temos a criação do padrão que será utilizado na expressão regular que pesquisará os componentes do formulario. Foi utilizado o eval pois o padrão não pode ser uma string, como no comentário logo ao lado do eval.
A padrão é, strings que começam com idFuncionario ou idEmpresa, no caso é o id do componente que foi clicado mais _ mais quantos e quaisquer caractéres forem encontrados.
o exec executa a expressão regular para o id dos elementos, caso o elemento esteja no padrão é retornado true, caso contrário false, por isso quando clicamos no marcar todos do funcionário apenas elementos que comecem com idFuncionario_ passam no padrão.
<form name=formulario> <legend> Funcionários </legend> <input id="idFuncionario" type="checkbox" onchange="javascript:marcarTodos(this);"/> Todos/Nenhum <hr /> </fieldset> <legend> Empresas </legend> <input id="idEmpresa" type="checkbox" onchange="javascript:marcarTodos(this);" /> Todos/Nenhum <hr /> </fieldset> </form>
<script> function marcarTodos(componente) { var form = document.formulario; eval("var padrao = /^"+componente.id+"_.*/;"); // var padrao = /^idFuncionario_./; for(var i=0;i < form.elements.length ; i++) { if(padrao.exec(form.elements[i].id)) { form.elements[i].checked = componente.checked; } } } </script>
Resultado: (testei apenas no firefox)
1 Comentário on Marcar Todos
By Tiago Cardoso on outubro 11, 2008 at 10:58 am
Ficou bonzim…kkkkkk sacanagem!!!!
Parabéns… brother!!!
Subscribe
Follow comments by subscribing to the Marcar Todos Comments RSS feed.