n tenho o retorno do codigo no alert!? sendo que o metodo clickBene é acionado corretamente mas n da alerta com o codigo oque esta faltando fiz algo errado sou novado sorry.
$.getJSON(url, null, function (json) {
alert(json.codigo);
});
S
samuelM
como eu recupero em javascript a variavel assim ${variavel} é usando include ja consegui fazer assim mas agora n estou conseguindo por algum motivo!!
S
samuelM
este alert das linhas 7 e 8 do exemplo era para funcionar mesmo fora do getJSON, preciso recuperar ${codigo} fora do bloco do getJSON
alert(${codigo});
}
uma coisa q eu notei tambem é que quando eu carrego uma pagina com o ${variavel} ja com seu respectivo valor, na pagina ele carrega a variavel normal, agora este include q eu do é mediante a uma pesquisa, concluindo a pesquisa que vai setar o valor da variavel ${variavel}
Lucas_Cavalcanti
na requisição que vai pra página jsp que tá esse código (e não a do $.getJSON), tem uma variável código incluída?
o código que vc quer dar alert é o que vc recebeu na função javascript? se sim, tire a ${}:
alert(codigo);
S
samuelM
Entao mas no caso o alert n vai ficar neste local e sim em um outro local por isso preciso que ele fique como ${codigo} pois n irei usar esta variavel apenas dentro do bloco function clickBene vou usa-la dentro de uma
blz, mas vc fez include do codigo no controller que mostra essa página?
(não vale ser no controller que vc chama via ajax)
S
samuelM
E agora? como vou obter o valor de uma variável passada por parâmetro em uma pesquisa em uma .dialog?
Eu tenho uma tela de pesquisa, ai eu clico na linha ele captura o codigo da linha selecionada, como vou ter esse codigo em uma dialog?
function clickBene(codigo) {
$('div#farmacia').dialog('open');
}
agora como vou colocar o parametro codigo dentro da dialog que ira abrir é ai q esta a minha dúvida o dialog farmacia precisa receber o parametro codigo!
Lucas_Cavalcanti
coloque um elemento em volta da onde vc quer colocar o código:
<spanid="codigo"></span>
e na funcao vc faz:
function clickBene(codigo) {
$('#codigo').html(codigo);
$('div#farmacia').dialog('open');
}
S
samuelM
entendi e no .dialog recupero a variavel cogido como?
tentei isso
alert($('#codigo'));
e retorna Object.object
Lucas_Cavalcanti
é só colocar o span que eu falei aonde vc quer que apareça o código, dentro da div#farmacia.
ou vc vai digitar esse código dentro do dialog?
S
samuelM
Esta dentro da div farmacia
e na .dialog farmacia esta assim
$('div#farmacia').dialog({autoOpen:false,dialogClass:'dialog',title:'Baixa de Prescrição',width:400,height:150,modal:true,show:'fadeIn',hide:'fadeOut',buttons:{Editar:function(){alert($('#codigo'));},Baixa:function(){//varurl='/P/prescricao/baixa';//$.getJSON(url,null,function(json){//alert('Baixa concluida');//});//$(this).dialog('close');},Visualizar:function(){//varcode=;//varurl2='/P/Relatorios/relPrescricao?codigo='+${codigo};//open(url2,'new','width=699px, height=500px,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no');}}});<divid="farmacia"><spanid="codigo"></span>Confirmaabaixadaprescriçãoselecionada?Cliqueemsimparadarbaixaenãoparaapenasvisualizar.</div>
S
samuelM
veja no editar é ali q preciso que apareca o codigo, no caso nao irei digitar o valor codigo dentro da dialog ele é passado por parametro mesmo
Lucas_Cavalcanti
então ao invés de span, coloque um input:
<input id="codigo"/>
e no editar vc coloca:
alert($('#codigo').val());
S
samuelM
cara mas um input? e um campo que recebe texto n preciso de um input preciso apenas de uma variavel para armazenar o parâmetro codigo!!
não é .html()… qdo é input vc precisa usar .val()… te mandei na msg anterior
S
samuelM
Certissimo brother vlwwwwww
S
samuelM
aproveitando o tópico lembrando que o problema ja foi resolvido eu gostaria de saber da opniao de vcs sobre o vraptor e o uso de ajax em uma aplicação é viável mesmo é uma boa pratica?
Grato.
Lucas_Cavalcanti
é viável sim (tanto que qse tudo usa isso hoje em dia) e é uma técnica mto importante pra poder recaregar pedaços da página ou fazer requisições pro servidor sem precisar recarregar tudo…
Acho que seria melhor vc abrir um tópico pra discutir isso