Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Eu tenho aproximadamente 30 radios em uma tela e quero selecionar todos/retirar seleção ao clicar em um botão ou link. A estrutura do form é:
<tr>
<td>
<strong><b>Can edit others posts/polls?</b></strong>
</td>
<td>
<span class='yesno_yes '><input type='radio' name='edit_post' value='1' id="edit_post_yes" /><label for='edit_post_yes'>Yes</label></span><span class='yesno_no '><input type='radio' id="edit_post_no" name='edit_post' value='0' checked='checked' /><label for='edit_post_no'>No</label></span>
</td>
</tr>
<tr>
<td>
<strong><b>Can edit others topic titles?</b></strong>
</td>
<td>
<span class='yesno_yes '><input type='radio' name='edit_topic' value='1' id="edit_topic_yes" /><label for='edit_topic_yes'>Yes</label></span><span class='yesno_no '><input type='radio' id="edit_topic_no" name='edit_topic' value='0' checked='checked' /><label for='edit_topic_no'>No</label></span>
</td>
</tr>A função que estou usando é esta:
<script type='text/javascript'><!--
function getElementsByTagName(node, tagName) {
tagName=tagName.toUpperCase();
var els = [];
if (node.elements) {
node = node.elements;
}
for (i in node) {
if (node[i] && tagName == node[i].tagName) {
els.push(node[i]);
if (node[i].id) {
els[node[i].id] = node[i];
}
/* Could also record nodes by name in els, but it's probably not worth the
computation
*/
}
/*should probably recurse; if so, test whether sub-nodes have already
been added to els.
*/
}
return els;
}
function setCheckedState (form, state)
{
if (!form)
{
form = document;
}
if (!form.getElementsByTagName)
{
form.getElementsByTagName = function(tagName){
return getElementsByTagName(this, tagName);
}
}
var inputs = form.getElementsByTagName('input');
for (i=0; i<inputs.length; ++i)
{
if ('radio' == inputs[i].type.toLowerCase())
{
inputs[i].checked=state;
}
}
}
function checkAll(form)
{
setCheckedState(form, true);
}
function uncheckAll(form)
{
setCheckedState(form, false);
}
//-->
</script>O problema é este:
/applications/core/interface/imageproxy/imageproxy.php?img=http://forum.sosinvision.com.br/uploads/images/SOS-1284465981-U1.png&key=f8ab5eb0e4171925cf2289869c88ec22b7bf93e44057d33cecca2ff91253e3a3" alt="Imagem Postada" />
O UNCHECK ALL remove a seleção dos radios, deveria marcar NO para todos. Quando clico em CHECK ALL, ele seleciona o radio NO. Deveria ser o YES.
Alguma sugestão ou outra função para usar ?
Obrigado.
Carregando comentários...