Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
E aí pessoal, tudo bem?
Estava desenvolvendo uma aplicação bem básica, só para treinar um pouco de Ajax. Ela funciona da seguinte maneira:
» Faço uma pesquisa em Ajax e ela me lista várias cidades de acordo com o estado (UF);
» Após aparecem, eu clico em alguma cidade e ela é mostrada no mapa.
O problema é que os boxes das cidades têm IDs idênticos, e, quando a função jQuery é acionada (para jogar o endereço da mesma no input que fará a pesquisa no mapa), só funciona da primeira vez. Daí, se eu listo novas cidades, funciona dessa mesma forma :S
Vejam as screenshots (estão bem explicadas):
http://i.imagehost.org/view/0511/ss1_7
http://i.imagehost.org/view/0800/ss2
http://i.imagehost.org/view/0202/ss3
http://j.imagehost.org/view/0715/ss4
Falando do problema novamente: só o primeiro clique no box da cidade que funciona, a cidade é mostrada no mapa e talz, mas quando clico em outra, não funciona. Tenho que fazer a pesquisa por estado novamente :(
Valeu!
>
O problema é que os boxes das cidades têm IDs idênticos
não duplique IDs, isso é um erro de HTML.
ID deve ser um identificador único num documento.
Acho que o teu problema, é que a marcação foi criada com javascript... por isso ela não existe no momento do document.ready...
o método .live() vai te ajudar a atrelar a função que você quer no teus elementos dinamicamente..
use class, ou qq outro seletor.. mas não duplique ids.
É... eu havia tentando com class também, mas o problema persistiu. Eu encontrei a solução no jQuery Forum, usando a função .find();
**
Enfim, obrigado pela atenção, até mais!
Você disse que existem diversos elementos com o mesmo id? Isso não pode.
Você pode tentar localizar o elemento pela posição na árvore do documento e recuperar o valor quando o campo for alterado.