Jump to content

POWERED BY:

Archived

This topic is now archived and is closed to further replies.

hargon

[Resolvido] JQuery: Passando inputText como parâmetro

Recommended Posts

Pessoal,

 

Tenho uma input text e preciso pegar o valor dela e passar como parâmetro, quando o autocomplete for acionado.

 

Como faço isso? Segue o código que tentei:

$("input#txtpalavra").autocomplete("autocomplete.php",{parameters:{'codigo': $("#codigo").val()}});

 

Assim funciona, mas não é a forma que preciso, pois o valor codigo pode ser alterado:

$("input#txtpalavra").autocomplete("autocomplete.php",{parameters:{'codigo': 1}});

 

Pelo que entendi, ele não executa o comando $("#codigo").val() ao passar como parâmetro.

Share this post


Link to post
Share on other sites

this não funciona, pois o valor deve vim de outro campo. Tentei utilizar eval, mas não tive sucesso.

 

Criei uma função só para retornar o valor, mas também não funcionou.

 

Obrigado pela tentativa.

Share this post


Link to post
Share on other sites

Pq não faz fora ?

 

var valor_codigo = $("#codigo").val();
$("input#txtpalavra").autocomplete("autocomplete.php",{parameters:{'codigo': valor_codigo}});
dá pra usar CSS3 com jQuery.. ai não precisa gastar tanto ID...

 

$("input[name=txtpalavra]");

Share this post


Link to post
Share on other sites

Não funcionou William.

 

Fiz um novo teste aqui.

var valor_codigo = 1;

 

Dessa forma funcionou. Então fica claro que o problema é que ele não está conseguindo executar o comando $("#codigo").val(); no momento que é acionado o método autocomplete.

Share this post


Link to post
Share on other sites

hum... dá pra explicar o funcionamento do que você quer ?

 

pq você está chamando o autocomplete, em um certo input, e quer enviar como parâmetro um outro input..

por aprendizado, eu gosto de desenvolver.. dá uma olhada nesse suggest que fiz:

 

em funcionamento:

http://www.wbruno.com.br/scripts/suggest.php

 

source:

http://www.wbruno.com.br/blog/?p=24

Share this post


Link to post
Share on other sites

Bacana você ter criado William. Parece me atender.

 

O que estou utilizando é este aqui.

 

Preciso que o conteúdo de uma input seja recebido como parâmetro junto com o conteúdo da input que possui o AUTOCOMPLETE. A idéia é que seja exibido somente os produtos de terminada da categoria.

 

codigo = categoria

txtpalavra = nome do produto

 

No momento estou fazendo assim:

<script language="javascript">
	function pegaCodigo(campo){
		var codigoNovo = $j("#" + campo).val();

		$j("input#txtpalavra").autocomplete("autocomplete.asp",{
			parameters:{
				'codigo': codigoNovo
			}
		});
	}
</script>

<input onkeypress="pegaCodigo('txtcodigo');" type="text" name="txtpalavra" id="txtpalavra" value="" />
Não está funcionando muito bem ainda, mas pelo menos serviu para pegar o código.

Share this post


Link to post
Share on other sites

hum... entendi..

então @hargon, eu te indico usar uma solução proprietária, ou tentar com o que fiz.. pois pelo autocomplete ser um 'plugin fechado', e alterar o source do plugin parece meio absurdo, teria que dar uma boa estudada, para ver se ele é capaz de suprir essa necessidade.

 

Entretanto, fazer essa adaptação que você precisa, no meu código, é bem mais simples.. já que são apenas funções abertas.. sei lá.. :lol:

Share this post


Link to post
Share on other sites

O seu código parece ser mais simples adaptar mesmo.

$("input[name='suggest']").keyup(function(){
			createList('.suggest');
			$.ajax({
				type: "GET",//apenas pra ficar mais fácil de debugar, pode mudar para POST depois
				url: "function-suggest.php",
				data: "parte="+$(this).val(),
				success: function( data ){
					$("#suggest").html( data );
				}
			});
		});
Quando o evento keyup é acionado, ele executa uma função. Acredito que executando a função faz o que preciso.

 

Obrigado, depois posto o resultado.

Share this post


Link to post
Share on other sites

Também acredito que sim, para enviar 2 parâmetros:

data: "parte="+$(this).val()+"&outro="+$('#codigo').val(),
é por QueryString que ele envia.

Share this post


Link to post
Share on other sites

Sei que estou revivendo esse topico, mas eu descobri que an ultima versão do autocomplete Jquery, se passa parametros adicionais usando isso :

 

extraParams: { 'gru': function() { return $('#ddlGrupo').val() },

O codigo meu completo seria isso:

 

$("#CampoBusca").autocomplete("Pagina.ashx", {
                     extraParams: { 'gru': function() { return $('#ddlGrupo').val() },
                         width: 277,
                         autoFill: false
                     }
                 });

Share this post


Link to post
Share on other sites

Muito bom mestre fyoda. Acabou que consegui resolver usando o código do William mesmo, pois era muito flexível.

 

Depois poste o arquivo autocomplete para que possamos testar sua sugestão.

 

Obrigado pela contribuição.

Share this post


Link to post
Share on other sites

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.