Ir para conteúdo

POWERED BY:

Arquivado

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

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.

Compartilhar este post


Link para o post
Compartilhar em outros 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.

Compartilhar este post


Link para o post
Compartilhar em outros 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]");

Compartilhar este post


Link para o post
Compartilhar em outros 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.

Compartilhar este post


Link para o post
Compartilhar em outros 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

Compartilhar este post


Link para o post
Compartilhar em outros 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.

Compartilhar este post


Link para o post
Compartilhar em outros 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:

Compartilhar este post


Link para o post
Compartilhar em outros 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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

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

Compartilhar este post


Link para o post
Compartilhar em outros 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
                     }
                 });

Compartilhar este post


Link para o post
Compartilhar em outros 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.

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.