Ir para conteúdo

POWERED BY:

Arquivado

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

Angelo-ti

Passar valor para Input

Recommended Posts

duvida_JS.jpg

 

O código acima, faz o seguinte.

 

Faz uma consulta na base da dados, de acordo com que o usuário vai preenchedor. blz..

 

Preciso fazer que quando o usuário ache o nome desejado, click em cima ele valor vá para o input.

 

Se alguém puder ajudar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode enganchar isso com um THIS, aonde ele clicar... Basta você ter acesso ao que usuário digita(se você consegue buscar na base de dados, imagino que você já consegue ter acesso a isso)

Compartilhar este post


Link para o post
Compartilhar em outros sites

i aew cara, se você quer pegar os valores via js, seria mais ou menos assim:

var setInputContratate = {
		
			getNextTd : function(obj){
				return obj.parentNode.nextSibling.nextSibling.childNodes[0];
			},
		
			init : function(){
				var tableContratante = document.getElementById('contratante');
				var radios = tableContratante.getElementsByTagName('input');
				for (i in radios){
					radios[i].onclick = function(){
						var codigo = setInputContratate.getNextTd(this);
						var nome = setInputContratate.getNextTd(codigo);
						document.getElementById('codigo').value = codigo.nodeValue;
						document.getElementById('nome').value = nome.nodeValue;
					}
				}			
			}
		}
	
        window.onload = function(){
			setInputContratate.init();
		}

 

e o html

<table border="1" rowspan="3" colspan="3" id="contratante">
		<tr>
			<td><input type="radio" name="contratante" /></td>
			<td>321</td>
			<td>Mario</td>
		</tr>
		<tr>
			<td><input type="radio" name="contratante" /></td>
			<td>654</td>
			<td>Carlos</td>
		</tr>
		<tr>
			<td><input type="radio" name="contratante" /></td>
			<td>987</td>
			<td>Pedro</td>
		</tr>
	</table>
	Codigo <input type="text" name="codigo" id="codigo"/><br />
	Nome <input type="text" name="nome" id="nome"/><br />

 

espero que ajude, abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

fico legal, vlw... aproveitando no caso minha tabela esta dentro de div, como faço para esconder após marcar o nome desejado.?



fiz na seguinte forma, acho que da para melhorar, não sei exibir rsrs

 

 

<html>
<head>


<script type="text/javascript" src="jq/jquery-1.9.1.min.js"></script>
<script text="text/javascript">

var setInputContratate = {

getNextTd : function(obj){
return obj.parentNode.nextSibling.nextSibling.childNodes[0];
},

init : function(){
var tableContratante = document.getElementById('contratante');
var radios = tableContratante.getElementsByTagName('input');

for (i in radios){
radios.onclick = function(){
var codigo = setInputContratate.getNextTd(this);
var nome = setInputContratate.getNextTd(codigo);
document.getElementById('codigo').value = codigo.nodeValue;
document.getElementById('nome').value = nome.nodeValue;
}
}
}
}

window.onload = function(){
setInputContratate.init();
}

$(function(){
$("#bloco")
.click(function(){
$("#bloco").hide();
});
});



</script>
</head>

<body>


Codigo <input type="text" name="codigo" id="codigo"/><br />
Nome <input type="text" name="nome" id="nome"/><br />


<div id="container">
<div id="bloco"><table border="1" rowspan="3" colspan="3" id="contratante">
<tr>
<td><input type="radio" name="contratante" /></td>
<td>321</td>
<td>Mario</td>
</tr>
<tr>
<td><input type="radio" name="contratante" /></td>
<td>654</td>
<td>Carlos</td>
</tr>
<tr>
<td><input type="radio" name="contratante" /></td>
<td>987</td>
<td>Pedro</td>
</tr>
</table></div>

</div>

</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

i aew cara, bom estou vendo que você utiliza o jquery, então substitui aquele código que te passei por esse, fica muito menor:

$(function(){
	$('#bloco').filter(function(){
		$('input:radio').click(function(){
			$('#codigo').val($(this).parents('tr').find('td:eq(1)').text());
			$('#nome').val($(this).parents('tr').find('td:eq(2)').text());
			$('#bloco').hide();
		});
	});
});

 

abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

i aew cara, bom estou vendo que você utiliza o jquery, então substitui aquele código que te passei por esse, fica muito menor:

 

$(function(){
	$('#bloco').filter(function(){
		$('input:radio').click(function(){
			$('#codigo').val($(this).parents('tr').find('td:eq(1)').text());
			$('#nome').val($(this).parents('tr').find('td:eq(2)').text());
			$('#bloco').hide();
		});
	});
});

 

abraço!

funcionou em um html de teste, quando coloquei no meu código, não aconteceu nada, nem de erro, pode verificar o que fiz de errado

 

 

<!-- TESTE PESQUISA -->

<script>

function pesquisar(str,url)

{

if (str=="")

{

document.getElementById("Rpesquisa").innerHTML="";

return;

}

// code for IE7+, Firefox, Chrome, Opera, Safari

if (window.XMLHttpRequest){xmlhttp=new XMLHttpRequest();}

 

// code for IE6, IE5

else{ xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); }

 

xmlhttp.onreadystatechange=function()

{

if (xmlhttp.readyState==4)

{

document.getElementById("rpesquisa").innerHTML=xmlhttp.responseText;

}

}

 

xmlhttp.open("GET",url+str,true);

 

 

xmlhttp.send();

 

}

 

 

$(function(){

$('#rpesquisa').filter(function(){

$('input:radio').click(function(){

$('#codigo').val($(this).parents('tr').find('td:eq(1)').text());

$('#nome').val($(this).parents('tr').find('td:eq(2)').text());

$('#rpesquisa').hide();

});

});

});

 

</script>

 

 

</head>

<body>

 

<form class="form-horizontal well" action="" method="post">

<fieldset>

<legend>Incluir Contrato</legend>

<div class="control-group">

<label class="control-label" for="input01">Contratante</label>

<div class="controls">

<input type="text" name="codigo" id="codigo"/>

<input type="text" class="input-xlarge" value="" name="nome" id="nome" onkeyUp="pesquisar(this.value,'../../controller/Pessoa.php?fun=pesquisar&pesq=')" >

 

<div style="width:50%" id="rpesquisa"></div>

 

</div>

 

 

 

</div>

 

Controller

 

//monta tabela e exibe lista

 

echo "

 

<table id=\"contratante\" class=\"table table-bordered table-striped table-hover\ width=\"50%\" >";

 

foreach ($lista as $linha ) {

echo "

<tr>

<td><input type=\"radio\" name=\"contratante\" value=".$linha["codigo"]." checked></td>

<td>".$linha["codigo"]."</td>

<td>".$linha["nome"]."</td>

</tr>

";

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.