ola pessoal,
bom… tenho um form com varios multibox de propertys e values diferentes e to precisando d uma funcao em jaav script que marque todos esses multibox… alguem aqui manja alguma coisa de JavaScript pra me ajudar??
valew!!!
JavaScript
9 Respostas
Segue uma função bem básica:
<script>
function marcaDesmarcaTudo(valor) {
var form = document.forms[0];
for (var i=0;i<form.campoMultiBox.length;i++) {
form.campoMultiBox[i].checked = valor;
}
}
</script>
....
....
<input type="button" name="botMarca" value="Marca Todos" onClick="marcaDesmarcaTudo(true)">
<input type="button" name="botDesMarca" value="Desmarca Todos" onClick="marcaDesmarcaTudo(false)">
....
....
cara… esse campoMultibox aí seria o prperty do multibox? pq eu tenho varios multibox com o property diferente sacou?
o código esta assim:
<html:multibox property="marcaDesmarca" value="marcaDesmarca" onclick="JavaScript: marcaDesmarca(true);" onchange="JavaScript: marcaDesmarca(true);"/>
function marcaDesmarca(){
var form = document.forms[0];
for (var i=0;i<form.campoMultiBox.length;i++) {
form.campoMultiBox[i].checked = valor;
}
}
Aaaaaaaaaaaaaaaaa bom…
Eu entendi outra coisa.
Então esse multibox (Struts) serão campos checkbox certo?
E se eles têm nomes diferentes de duas uma, ou você acessa campo a campo ou, você faz um loop nos objetos do form que são do tipo checkbox e marca eles.
Fazendo um loop em todos os objetos do tipo checkbox:
function selecionar_tudo(){
for (i=0;i<document.form1.elements.length;i++)
if(document.form1.elements[i].type == "checkbox")
document.form1.elements[i].checked=1
}
blz… entendi… mas os componentes do meu form são html:multibox… msm assim essa comparação if(document.form1.elements[i].type == “checkbox”)
dah certo?
Mas claro, html:multibox resultará num checkbox. Veja o código fonte da sua página HTML e verá que terá vários campos checkbox.
opa, tipo… entendi q q eu tenho q fazer mas agora to com um probleminha, eu não to conseguindo chamar a funcao que eu criei, no meu codigo esta assim:
......
<body>
<SCRIPT>
function marcaDesmarca(){
alert("passou");
for (i=0;i<registerFormOld.elements.length;i++){
if(registerFormOld.elements[i].type == "checkbox"){
registerFormOld.elements[i].checked=1;
}
}
}
</SCRIPT>
......
<html:button property="marcaDesmarca" value="marcaDesmarca" onclick="JavaScript: return marcaDesmarca();" />
.....
só que quando eu clico no botão não esta exibindo o alert q eu coloquei, alguem sabe oq pode estar acontecendo?
vlw ae…
e foi malz minha falta de pratica com java script…heheheh
conseguir chamar a função… e funcionou… mas pela metade… tipo… na hora de desmarcar os multibox eu to fazendo:
registerFormOld.elements[i].checked=“false”;
soh q naum tah desmarcando…
tem q fazer outra coisa pra desmarcar?
Ops, tem um erro aí.
É registerFormOld.elements[i].checked = false;
sem aspas pois é um valor booleano e não uma string, blz?