Ir para conteúdo
Fórum Script Brasil
  • 0

Javacript não identificando corretamente um tipo de Id


scjava

Pergunta

Olá a todos do fórum,

sou novo aqui e no javascript, já fiz varias buscas aqui no fórum mas não encontrei algo que resolva meu problema

o problema me parece algo que está na cara mas não consigo resolver de jeito nenhum

eu tenho um formulário de cadastro dado por uma empresa de email marketing, dentro desse formulário tem vários checkbox pra pessoa selecionar as lista que quer se inscrever de acordo com a área de interesse

o caso é que no final tem uma opção para a pessoa se inscrever em todas as áreas, eu queria que ao marcar esse opção todas as outras ficassem desabilitadas e desmarcadas (isso porque eu quero que a pessoa se cadastre apenas na lista todas e não em todas as listas)

então usei o seguinte script que está funcionando corretamente

<div id="mc_embed_signup">
<form action="http://bfkfskfgkf.us2.list-manage1.com/" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate" target="_blank">
    <fieldset>
    
<br/>
<div class="mc-field-group">
    <label class="input-group-label">interesse </label>
    <div class="input-group" >
    
    <table id="intere" width="590"  cellspacing="1" >
        
        <tr >
          <td  width="176"><label>
            <input type="checkbox"  value="1" name="group[1][1]" id="opcao0">
            <label for="mce-group[1]-1-0">Area 1</label></td>
          <td width="105"><input type="checkbox"  value="2" name="group[1][2]" id="opcao1"><label for="mce-group[1]-1-1">Area 2</label></td>
          <td width="141"><input type="checkbox"  value="4" name="group[1][4]" id="opcao2"><label for="mce-group[1]-1-2">Area 3</label></td>
          <td width="153"><input type="checkbox"  value="8" name="group[1][8]" id="opcao3"><label for="mce-group[1]-1-3">Area 4</label></td>
        </tr>
        <tr>
          <td><input type="checkbox"  value="65536" name="group[1][65536]" id="opcao4"><label for="mce-group[1]-1-4">Area 5</label></td>
          <td><input type="checkbox"  value="16" name="group[1][16]" id="opcao5"><label for="mce-group[1]-1-5">Area 6</label></td>
          <td><input type="checkbox" value="32" name="group[1][32]" id="opcao6"><label for="mce-group[1]-1-6">Area 7</label></td>
          <td><input type="checkbox"  value="64" name="group[1][64]" id="opcao7"><label for="mce-group[1]-1-7">Area 8</label></td>
        </tr>
          
      </table>
 <input type="checkbox" value="32768" name="group[1][32768]" id="opcao8" onclick="jqCheck(this.id, 'intere');"><label for="mce-group[1]-1-16">Todas</label>
    </div>
   </div>
     
<br/>

        <div id="mce-responses">
            <div class="response" id="mce-error-response" style="display:none"></div>
            <div class="response" id="mce-success-response" style="display:none"></div>
        </div>
        <div><input type="submit" value="Enviar" name="subscribe" id="mc-embedded-subscribe" class="btn"></div>
    </fieldset>    
    <a href="#" id="mc_embed_close" class="mc_embed_close"></a>
</form>
</div>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<script type="text/javascript">


function jqCheck( id, pID )
{
   $( "#" + pID + " :checkbox").attr('disabled', $('#' + id).is(':checked')).attr('checked', $('#' + id).is(':disabled'));
   
}
</script>
no entanto usando as Ids dadas pelo formulário da empresa pra cada checkbox o script não funciona corretamente e eu tenho que utilizar essas Ids pois o cadastro usa outros scripts da empresa que usam essa ids
<div id="mc_embed_signup">
<form action="http://bfkfskfgkf.us2.list-manage1.com/" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate" target="_blank">
    <fieldset>
    
<br/>
<div class="mc-field-group">
    <label class="input-group-label">interesse </label>
    <div class="input-group" >
    
    <table id="intere" width="590"  cellspacing="1" >
        
        <tr >
          <td  width="176"><label>
            <input type="checkbox"  value="1" name="group[1][1]" id="mce-group[1]-1-0">
            <label for="mce-group[1]-1-0">Area 1</label></td>
          <td width="105"><input type="checkbox"  value="2" name="group[1][2]" id="mce-group[1]-1-1"><label for="mce-group[1]-1-1">Area 2</label></td>
          <td width="141"><input type="checkbox"  value="4" name="group[1][4]" id="mce-group[1]-1-2"><label for="mce-group[1]-1-2">Area 3</label></td>
          <td width="153"><input type="checkbox"  value="8" name="group[1][8]" id="mce-group[1]-1-3"><label for="mce-group[1]-1-3">Area 4</label></td>
        </tr>
        <tr>
          <td><input type="checkbox"  value="65536" name="group[1][65536]" id="mce-group[1]-1-4"><label for="mce-group[1]-1-4">Area 5</label></td>
          <td><input type="checkbox"  value="16" name="group[1][16]" id="mce-group[1]-1-5"><label for="mce-group[1]-1-5">Area 6</label></td>
          <td><input type="checkbox" value="32" name="group[1][32]" id="mce-group[1]-1-6"><label for="mce-group[1]-1-6">Area 7</label></td>
          <td><input type="checkbox"  value="64" name="group[1][64]" id="mce-group[1]-1-7"><label for="mce-group[1]-1-7">Area 8</label></td>
        </tr>
          
      </table>
 <input type="checkbox" value="32768" name="group[1][32768]" id="mce-group[1]-1-8" onclick="jqCheck(this.id, 'intere');"><label for="mce-group[1]-1-16">Todas</label>
    </div>
   </div>
     
<br/>

        <div id="mce-responses">
            <div class="response" id="mce-error-response" style="display:none"></div>
            <div class="response" id="mce-success-response" style="display:none"></div>
        </div>
        <div><input type="submit" value="Enviar" name="subscribe" id="mc-embedded-subscribe" class="btn"></div>
    </fieldset>    
    <a href="#" id="mc_embed_close" class="mc_embed_close"></a>
</form>
</div>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<script type="text/javascript">


function jqCheck( id, pID )
{
   $( "#" + pID + " :checkbox").attr('disabled', $('#' + id).is(':checked')).attr('checked', $('#' + id).is(':disabled'));
   
}
</script>

agradeço que puder me ajudar

valeu

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Amigo, ao invés de passar o ID do checkbox você pode passar o próprio elemento, e quando for desabilitr utilize ele mesmo...

[...]onclick="jqCheck(this, 'intere');[...]
function jqCheck( elem, pID )
{
   $( "#" + pID + " :checkbox").attr('disabled', $(elem).is(':checked')).attr('checked', $(elem).is(':disabled'));
  
}

Editado por Stoma
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...