Ir para conteúdo

POWERED BY:

Arquivado

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

danielswater

variavel global so mostra valor depois do alert

Recommended Posts

fala pessoal

meu problema e o seguinte, eu preciso pegar um valor de um calculo depois de fazer uma requisição ajax e pegar esse valor e colocar em um campo

 

o problema e que o valor esta me retornando "undefined" no alert, e no lugar aonde eu quero colocar o valor, aparece o valor correto, porem, so funciona se eu colocar o alert, se eu nao colocar, nao aparece nada.

isso no firefox, no chrome me mostra o alert como "undefined" e no campo que eu quero colocar o valor nao aparece nada

 

esse e o meu codigo:

 

$("select[name='markup[]']").change(function(){
		
		var valor;
		var id = $(this).val();
		$.post("biblioteca/busca-valor-formula.php",{id:id},function(data){
			valor = eval(data);
		});
		alert(valor);		
		var indice = $(this).parent().next();
                $(indice).html("<td style='border:none;'>"+valor.toFixed(4)+"<input type='hidden' name='indice[]' value='"+valor.toFixed(4)+"'/></td>");
});

alguem pode me dar um help?

Compartilhar este post


Link para o post
Compartilhar em outros sites

$.post("biblioteca/busca-valor-formula.php",{id:id},function(data){

valor = eval(data);

alert(valor);

var indice = $(this).parent().next();

$(indice).html("<td style='border:none;'>"+valor.toFixed(4)+"<input type='hidden' name='indice[]' value='"+valor.toFixed(4)+"'/></td>");

});

entendeu ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

hummmmm
vou tentar aqui e volto com o resultado



entao, nao funcionou como deveria, pq nao esta mostrando os valores que preciso nos campos

 

o codigo que "funciona" e esse:

 

$(function(){
	
	$("select[name='markup[]']").change(function(){
		
		var id = $(this).val();
		$.post("biblioteca/busca-valor-formula.php",{id:id},function(data){
			valor = eval(data);
		});

		var calabel = $(this).find("option:selected").attr('calabel');
		
		var indice = $(this).parent().next();
		var custo = $(this).parent().prev().prev().html();
		var precoLiquido = $(this).parent().next().next().next();
		var preco = $(this).parent().next().next().next().next();
		var re = (eval(custo) * eval(valor)) - eval(custo);
		var margem = $(this).parent().next().next();
		
		$(margem).html(re.toFixed(4));
		var resest = eval(custo) * eval(valor);
		$(precoLiquido).html(resest.toFixed(4));
		$(preco).html("<input type='text' name='preco[]' class='input-mini' style='font-size:10px;' value='"+resest.toFixed(4)+"' /><input type='hidden' name='label[]' value='"+calabel+"' />");
		//$(indice).html(val);
		$(indice).html("<td style='border:none;'>"+valor.toFixed(4)+"<input type='hidden' name='indice[]' value='"+valor.toFixed(4)+"'/></td>");
		$(margem).html("<td style='border:none;'>"+re.toFixed(4)+"<input type='hidden' name='margem[]' value='"+re.toFixed(4)+"'/></td>");
		$(precoLiquido).html("<td style='border:none;'>"+resest.toFixed(4)+"<input type='hidden' name='estimado[]' value='"+resest.toFixed(4)+"'/></td>");
	});
});

ele me mostra os calculos, mas na condição que mencionei quando criei o tópico

 

 

dessa forma:

 

 

$(function(){
	
	$("select[name='markup[]']").change(function(){
		
		var id = $(this).val();
		$.post("biblioteca/busca-valor-formula.php",{id:id},function(data){
					valor = eval(data);
					var calabel = $(this).find("option:selected").attr('calabel');
		
					var indice = $(this).parent().next();
					var custo = $(this).parent().prev().prev().html();
					var precoLiquido = $(this).parent().next().next().next();
					var preco = $(this).parent().next().next().next().next();
					var re = (eval(custo) * eval(valor)) - eval(custo);
					var margem = $(this).parent().next().next();
		
					$(margem).html(re.toFixed(4));
					var resest = eval(custo) * eval(valor);
					$(precoLiquido).html(resest.toFixed(4));
					$(preco).html("<input type='text' name='preco[]' class='input-mini' style='font-size:10px;' value='"+resest.toFixed(4)+"' /><input type='hidden' name='label[]' value='"+calabel+"' />");
					//$(indice).html(val);
					$(indice).html("<td style='border:none;'>"+valor.toFixed(4)+"<input type='hidden' name='indice[]' value='"+valor.toFixed(4)+"'/></td>");
					$(margem).html("<td style='border:none;'>"+re.toFixed(4)+"<input type='hidden' name='margem[]' value='"+re.toFixed(4)+"'/></td>");
					$(precoLiquido).html("<td style='border:none;'>"+resest.toFixed(4)+"<input type='hidden' name='estimado[]' value='"+resest.toFixed(4)+"'/></td>");
		});
	});
});

nao me mostra nada :(



o problema de nao aparecer nada eu acho que esta no "this", que nao esta referenciando o jumpmenu em questao

 

var indice = $(this).parent().next();
var custo = $(this).parent().prev().prev().html();
var precoLiquido = $(this).parent().next().next().next();
var preco = $(this).parent().next().next().next().next();
var re = (eval(custo) * eval(valor)) - eval(custo);
var margem = $(this).parent().next().next();

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.