Ir para conteúdo

POWERED BY:

Arquivado

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

AndréMiranda

jQuery length

Recommended Posts

Olá pessoal!!

 

Eu tenho uma dia e gostaria de saber qtos input text dentro dela possuem o valor maior do que 240... então fiz assim:

 

var nro = $("#divInput").find("input[@value > '240']").length;

e até coloquei um alert depois pra saber se o valor está correto, mas não está. Tem horas que ele mostra o número de todos os inputs que possuem qq valor preenchido, seja texto, seja número...

 

Alguém saberia alguma dica? Tentei procurar pela classe mas tmb não rolou...

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tmb não! :-(

 

Engraçado que qdo ponho "@value = 240" ele me acha certinho o número de inputs... agora, qdo coloco "@value > 240", ele não me traz certo... ele continua me trazendo todos os inputs que têm algo preenchido...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Atributos são tratados como strings.

Se você usou valores númericos para atributos percorra tais valores com o método each() e transforme-os em números para poder comparar com um valor númerico.

Assim:

<script type="text/javascript">
$(document).ready(function(){
var cont = 0; 
	$('#divInput input').each(function() {
		var valor = $(this).attr('value')
		var valorNumero = parseInt(valor)
		if (valorNumero > 240) cont++;
		})
			alert(cont)
})
</script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia Maujor, tudo bom? Vou colaborar com o iMasters.

 

Vamos resumir o seu code.

 

$(element).each(function(){
     var valor = $(this).val().length; //Recolhe o valor de caracteres de 'element'
     alert(valor); //Alerta o valor 'numérico' de caracteres de 'element'
});

Mais simples, não? Abraço e desculpe o reply bem atrasado.

 

Atributos são tratados como strings.

Se você usou valores númericos para atributos percorra tais valores com o método each() e transforme-os em números para poder comparar com um valor númerico.

Assim:

<script type="text/javascript">
$(document).ready(function(){
	var cont = 0; 
		$('#divInput input').each(function() {
			var valor = $(this).attr('value')
			var valorNumero = parseInt(valor)
			if (valorNumero > 240) cont++;
 		})
 			alert(cont)
})
 </script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Maujor,

 

uma maneira fácil de ler a quantidade de caracteres obtendo um valor numérico sem a necessidade do parseInt().

 

A minha finalidade foi melhorar a sua colaboração independente da pergunta.

 

Abraço

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.