Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

André Paulo

Só funciona na primeira div

Recommended Posts

Galera to com um problema desgra*** , é o seguinte, tenho um ajax que pega os resultados de uma consulta e me mostra os resultados cada um em uma div, porem todas com o mesmo id que no caso é #userResult, até aqui tudo certo, porem criei uma função em jquery para pegar a classe de cada uma e jogar num input separados por uma virgula, pois informo o id de cada post na class de cada div, o codigo é o seguinte:

<script type="text/javascript" src="http://code.jquery.com/jquery-2.1.3.min.js"></script>
<script type="text/javascript">





	$('#userResult').on('click', function(){
		var id_add = $(this).attr('class');
		var ids = $('#inputIds').val();
		$('#inputIds').attr('value', ids+id_add+',');
	});
</script>

porem quando clico na div para que me retorne a classe ela só funciona na primeira div, ou seja , eu clico no primeiro resultado e aparece, mais quando clico no segundo não aparece.

 

Me ajudem por favor ? Grato desde ja.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ID só pode ser usado uma vez. Ao invés disto, utilize class="userResult" e chame a função com .userResult ao invés de #userResult.

 

Funcionará.

 

Lembrando que, você pode utilizar mais de uma classe por elemento.

 

Por exemplo:

<div class="userResult teste teste2">

</div>


ID é a identificação única de um elemento na página, logo, só pode ser utilizado uma vez.

 

Tente trocar o javascript para:

$('div.userResult').on('click', function(){
	var id_add = $(this).attr('class');
	var ids = $('#inputIds').val();
	$('#inputIds').attr('value', ids+id_add+',');
});

E no HTML, onde tem id="userResult" troque por class="userResult".

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.