Pergunta

Estou trabalhando em uma lista suspensa de seleção. Esta lista adiciona todos os elementos selecionados (feitos por um usuário) a um contêiner <div> na forma de campos ocultos. Essas seleções têm um link que oferece ao usuário a opção de removê -lo do contêiner de seleção. Toda vez que uma nova seleção é feita, o código liga automaticamente uma função que está mudando de remoção da seleção no caso em que o usuário clica no link reemve, algo assim:

<Div id = "SelectedCategories">
Categoria #1 Remove_link
<input type = "hidden" value = "9524" name = "recordids [] /> </div>
<select>
<pution> categoria #2 </pption>
<pution> categoria #3 </pption>
</leclect>

Toda vez que uma nova seleção é feita da lista suspensa, todos os elementos selecionados anteriormente precisam ser "re-bucais" com a função Excluir. Por algum motivo, é necessário fazer isso, porque todos os elementos parecem perder seu anterior ligação quando um novo é adicionado.

Isso funciona muito bem no Fire Fox e Safari, mas eles não funcionam para o IE. Mesmo que eu seja uma vez que eu faz uma ligação para cada elemento selecionado, todas as ligações são perdidas e a única que funciona é o último elemento que eu adicionei e bico de acordo com a função de exclusão.

Minha pergunta é: Existe um WorkArround para isso, ou como faço para resolver esse problema? Infelizmente, o IE é o navegador da Internet mais usado por aí :(

obrigada

Foi útil?

Solução 3

Eu usei a função ao vivo sem sorte, talvez esteja fazendo algo errado. O que funcionou para mim foi desbloquear a função antes de adicionar ou reembolsar qualquer outra função.
Portanto, se eu vincular uma função ao evento de clique como este.



 $('#deleteRecord1').bind('click',function() 
   { 
        // function here ...
   }
 );

$ ('#DELETERECORD2'). bind ('click', function () {// function aqui ...});


Mais tarde, quando excluo o registro1, preciso reboque esse método para o registro2, farei dessa maneira para fazê -lo funcionar no IE 7 e 8



 $('#deleteRecordId').unbind('click');
 $('#deleteRecordId').bind('click',function() 
   { 
        // function here ...
   }
 );

Nesse caso, o "ID" refere -se a um ID exclusivo que todo que foi selecionado, neste exemplo corresponde ao número 2.

Outras dicas

Tem certeza de que está usando a versão correta do jQuery para usar a função ao vivo? É relativamente novo, então você precisa garantir que está usando a versão mais recente.

Você pode usar o viver() função para vincular a cada instância de um elemento na página, presente e futuro. Isso economiza que você teria que se referir.

$("a.removeLink").live("click", function() {
  $(this).next("input").remove();
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top