Ir para conteúdo

POWERED BY:

Arquivado

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

lezão

SELECT informa os dados em INPUT

Recommended Posts

Ola galera, boa noite!

 

tenho esse script aqui, só q ele funciona de um jeito q eu naun estou precisando...

A função dele é pegar informações de um select e mostra em outro select, queria q fosse ao contrario usar o select e mostrar as informações em input...

 

CODIGO COMPLETO

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
	<title>Selects dependientes</title>
</head>

<body>
<form name="f1">


<select name="pais" onchange="cambia_provincia()">
      <option selected="selected">-----</option>
      <%
					
					While (NOT ConsClientes.EOF)
					
					%>
      <option value="<%=((ConsClientes.Fields.Item("id_cliente").Value))%>"><%=UCase((ConsClientes.Fields.Item("Empresa").Value))%></option>
    
    </select>

<select name=provincia>
<option value="-">-
</select>

</form>

<script>
//defino una serie de varibles Array para cada país


var provincias_<%=((ConsClientes.Fields.Item("id_cliente").Value))%>=new Array(
"-","<%=UCase((ConsClientes.Fields.Item("endereco").Value))%>",
    "<%=UCase((ConsClientes.Fields.Item("cnpj").Value))%>",
	"<%=UCase((ConsClientes.Fields.Item("cpf").Value))%>",
	"<%=UCase((ConsClientes.Fields.Item("ie").Value))%>",
	"<%=UCase((ConsClientes.Fields.Item("rg").Value))%>",
	"<%=UCase((ConsClientes.Fields.Item("Empresa").Value))%>",
	"<%=UCase((ConsClientes.Fields.Item("tecnico").Value))%>")
                    <%
                    ConsClientes.MoveNext()
					Wend
					If (ConsClientes.CursorType > 0) Then
  					ConsClientes.MoveFirst
					Else
  					ConsClientes.Requery
					End If
					%>
//función que cambia las provincias del select de provincias en función del país que se haya escogido en el select de país.
function cambia_provincia(){
	//tomo el valor del select del pais elegido
	var pais
	pais = document.f1.pais[document.f1.pais.selectedIndex].value
	//miro a ver si el pais está definido
	if (pais != 0) {
		//si estaba definido, entonces coloco las opciones de la provincia correspondiente.
		//selecciono el array de provincia adecuado
		mis_provincias=eval("provincias_" + pais)
		//calculo el numero de provincias
		num_provincias = mis_provincias.length
		//marco el número de provincias en el select
		document.f1.provincia.length = num_provincias
		//para cada provincia del array, la introduzco en el select
		for(i=0;i<num_provincias;i++){
		   document.f1.provincia.options[i].value=mis_provincias[i]
		   document.f1.provincia.options[i].text=mis_provincias[i]
		}	
	}else{
		//si no había provincia seleccionada, elimino las provincias del select
		document.f1.provincia.length = 1
		//coloco un guión en la única opción que he dejado
		document.f1.provincia.options[0].value = "-"
	    document.f1.provincia.options[0].text = "-"
	}
	//marco como seleccionada la opción primera de provincia
	document.f1.provincia.options[0].selected = true
}
</script>
veja como roda http://www.dedetinseto.com.br/site/painel/ordem_servico/2.asp

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja se esse ajuda.

 

Função do javascript

<script language=JavaScript> 
 
function BuscaInput(frm, nome_input, nome_select)
{
	a = eval('document.'+frm+'.'+nome_input);
	b = eval('document.'+frm+'.'+nome_select);
 
	a.value = b.value;
}
 
function BuscaSelect(frm, nome_input, nome_select)
 {
	a = eval('document.'+frm+'.'+nome_input);
	b = eval('document.'+frm+'.'+nome_select);
 
	if (a.value != '')
		b.value = a.value;
	else
		b.selectedIndex = 0;
}
 
</script>

Select ( ASP e Access )

<select onChange="BuscaInput('frmCadastro','produto','nome_produto')" name=nome_produto>

<option value=nulo>Selecione um Produto</option>

<%
set listar = dados.Execute("SELECT * FROM produtos ORDER BY nome_produto")
 While not listar.EOF
%>

<option value="<%=listar("nome_produto")%>" <%If (listar("id") = nome_produto) Then Response.Write "selected" End If%>><%=listar("nome_produto")%></option>

<%
listar.MoveNext
 Wend
%>

</select>

 <INPUT onblur="BuscaSelect('frmCadastro','produto','nome_produto')" readonly class="form" maxLength=60 size=40 name=produto>

Na Função do Script, não precisa alterar nada.

Faça suas modificações apenas no seu Select e veja se ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola WilNet eu naun entendi essa parte, pra q serve?

"BuscaInput('frmCadastro','produto','nome_produto')

"BuscaSelect('frmCadastro','produto','nome_produto')

Compartilhar este post


Link para o post
Compartilhar em outros sites

frmCadastro é o nome do seu Form.

 

nome_produto é o nome de seu Select

 

produto é o nome de seu Input.

 

A função do script faz a relação entre eles por meio do onChange e onBlur.

 

Qualquer uns dos nomes acima poderá ser alterado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu digo assim

imput.png

qnd eu seleciono o teste 2, ele envia os outros dados para o input, puxando do meu banco de dados....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola William Bruno, eu fiz diferente e deu certo por enquanto, mas acontece um erro, qnd eu seleciono um item no select, a informação q vai para o input é a mesma ....

tipo input endereço é o mesmo naun muda conforme o qual eu escolho

 

teste.asp

	<script type="text/javascript" src="../../jquery-1.3.2.js"></script>
	<script type="text/javascript">
	$(document).ready(function(){
		$("select[name='nome']").change(function(){
			$("input[name='endereco']").val('<%=UCase((ConsClientes.Fields.Item("id_cliente").Value))%>');
			$("input[name='telefone']").val('<%=UCase((ConsClientes.Fields.Item("cel").Value))%>');

			$.getJSON(
				'combo-preenche-input-function.php',
				{id_Cliente: $(this).val()},
				function(data){
					$.each(data, function(i, obj){
						$("input[name='endereco']").val(obj.endereco);
						$("input[name='telefone']").val(obj.telefone);
					})
				});
		});
	});
	</script>


</head>

<body>

<form action="" method="post">

<select name="nome">
      <option selected="selected">-----</option>
      <%
					
					While (NOT ConsClientes.EOF)
					
					%>
      <option value="<%=UCase((ConsClientes.Fields.Item("id_cliente").Value))%>"><%=UCase((ConsClientes.Fields.Item("Empresa").Value))%></option>
      <%
					
  					ConsClientes.MoveNext()
					Wend
					If (ConsClientes.CursorType > 0) Then
  					ConsClientes.MoveFirst
					Else
  					ConsClientes.Requery
					End If
					
					%>
    </select>

<label>Endereço: <input name="endereco" type="text" disabled="disabled" value="" /></label>
		<label>Telefone: <input type="text" name="telefone" value="" /></label>
	</form>
 
 
	<div id="test"></div>

veja o link para c entender melhorhttp://www.dedetinseto.com.br/site/painel/ordem_servico/9.asp

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.