none
Select(HTML) com múltipla seleção. Marco uma e deveria marcar todas, não está funcionando RRS feed

  • Pergunta

  • Tenho esse select com multiplos select

    <tr>
                                    <td width="10%" class="label_right">Autorização Prévia: &nbsp;</td>
                                    <td class="label_left">
                                        <select id="ddl_autorizacaoprevia" multiple>
                                            <option value="0">TODAS AS AUTORIZAÇÕES</option>
                                            <option value="T">TÉCNICA / ADMINISTRATIVA</option>
                                            <option value="A">SISTÊMICA</option>
                                            <option value="N">NÃO PRECISA</option>
                                        </select>
                                    </td>
                                </tr>

    O que desejo é que quando eu selecionar "TODAS AS AUTORIZAÇÕES", todas as outras deveriam ser selecionadas e quando eu clicar em qualquer outra, todas as selecionadas deveriam ser desmarcadas e apenas a selecionada deveria estar marcada(selecionada). Realmente não sei como fazer isso. Estou procurando na internet, mas até agora não achei nada.

    Nessa linha option.Selected, dá esse erro: Uncaught ReferenceError: option is not defined. Preciso de algum include? 
    • Editado pnet terça-feira, 19 de janeiro de 2016 18:41
    terça-feira, 19 de janeiro de 2016 18:32

Todas as Respostas

  • Esta solução por jquery funcionou, mas somente no Chrome e eu preciso é que funcione no IE.

    $(document).ready(function(){
    
       $('#ddl_autorizacaoprevia option').click(function(){
           var that = $(this);
           if ($(that).val() == 0){
              $('#ddl_autorizacaoprevia option').each(function(){
                 $(this).attr('selected', 'selected');
              });
           }  else  {
              $('#ddl_autorizacaoprevia option').each(function(){
                 $(this).removeAttr('selected'); 
              });
              $(that).attr('selected', 'selected');
           }
    
       }
    
    });

    Nessa linha $('#ddl_autorizacaoprevia option').each(function () se eu removo o option, consigo fazer a seleção múltipla, mas apenas se não houver nenhum selecionado. Caso eu selecione algum e depois clico no Item de índice 0, aí não funciona mais. Mas se recarrego a página(deseleciono tudo), dessa forma funciona. Entendi que o IE não "gosta" do option.
    • Editado pnet quarta-feira, 20 de janeiro de 2016 11:06
    terça-feira, 19 de janeiro de 2016 19:43