Jump to content
Fórum Script Brasil
  • 0

Exibir dados num textbox usando selecção de uma combobox


melima
 Share

Question

Boas.

Tenho uma combobox em html que recebe dados vindos de uma base de dados mysql, até funciona tudo bem. O que eu pretendo é que ao seleccionar o item na combobox automáticamente sejam inseridos os dados correspondentes numa textbox. Será que alguém me pode indicar como eu posso fazer isso?

Cumprimentos,

Melima.

Link to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 0

JavaScript...

bem simples... crie uma função JavaScript que recebera o Valor da combobox e colocara no Textbox. o JavaScript trbalha pela Id dos componentes sendo assim... ficaria algo assim.

<script type="text/javascript">

function PegaDados(campo) {
var valor = campo;
document.getElementById("TEXTBOX").value = valor;

}

</script>

<input type="text" id="TEXTBOX" />

<select size="1" name="D1">

<option selected value="Selecione">Selecione!</option>

<?php $i=0; while (bla bla bla ) { ?>

<option id="combobox<?php echo $i; ?>" value="<?php echo 'valoor'; ?>" onclick="java script:PegaDados(document.getElementById('combobox<?php echo $i; ?>').value);"><?php echo 'nome'; ?></option>

<?php $i++; } ?>
</select>

Testei e funciono, no caso o while você tem que acerta de acordo com o seu Select feito no banco para mostrar o seus registros, o $i ele vai contar quantas loop foi feito para deixar a Id de cada um diferente... depois no onclick e colocado a função chamando o Valor do Value da Select...

Link to comment
Share on other sites

  • 0

Tentei fazer em ajax, consigo ir buscar os valores e inserir na combo e depois de seleccionar consigo colocar as textbox dizendo a carregar, mas não passa dai e não vejo nenhum erro. Vou colocar o código para me poderem ajudar.

<?php

require_once 'Classe_Conexao.php';

/**

* Função que retorna o select

*/

function montaSelect(){

$mysql= new conexao;

$sql=$mysql->sql_query("Select ID,competencias FROM competencias_transversais");

if(mysql_num_rows($sql)>0)

{

while($dados=mysql_fetch_assoc($sql))

{

$opt.='<option value="'.$dados['ID'].'">'.$dados['competencias'].'</option>';

}

}

else {

$opt =<option value"0">Nenhuma competência cadastrada</option>';

}

return $opt;

}

function retorna($id)

{

$id=(int)$id;

$mysql= new conexao;

$sql=$mysql->sql_query("Select 'ID', 'competencias', 'indicador', 'Nivel_Esperado'

FROM competencias_transversais WHERE 'ID'={$id}");

$arr=array();

if(mysql_num_rows($sql))

{

while($dados=mysql_fetch_object($sql))

{

$arr[indicador]=$dados->indicador;

$arr[Nivel_Esperado]=$dados->Nivel_Esperado;

}

}

else {

$arr[]='indicador: não encontrado';

}

return json_encode($arr);

}

if(isset($_GET['ID]))

{

echo retorna($_GET[$id]);

}

?>

Função em ajax:

<script type=text/javascript" src="jquery.js"></script>

<script type="text/javascript">

$(document).ready(function() {

$("select[name='Competencia]").change(function(){

var indicador=$("input[name=indicador]");

var Nivel_Esperado=$("input[name=Nivel_Esperado]");

$(indicador).val('Carregando....');

$(Nivel_Esperado).val('Carregando....');

$.getJSON(

'function.php',

{ID: $(this).val()},

function(json)

{

$(indicador).val(json.indicador);

$(Nivel_Esperado).val(json.Nivel_Esperado);

}

);

});

});

</script>

Codigo no html:

<table>

<tr><th width="20%"><?php echo $lang['Competencia'];?></th><td><b><font color=black"></font></b>

<select name="Competencia">

<option value="">--</option>

<?php

include 'function.php';

echo montaSelect();

?>

</select>

</td></tr>

<tr><th width="20%"><?php echo $lang['Indicador];?></th><td>

<input name="indicador" type="text" disabled="disabled" value="" />

</td></tr>

<tr><th><?php echo $lang['Nivel_Esperado'];?></th><td>

<input name="Nivel_Esperado" type="text" disabled="disabled" value="" />

</td></tr>

Se me poderem ajudar agradeço!

Edited by melima
Link to comment
Share on other sites

  • 0

Já consegui faltavam umas pilicas no código e era por isso que não funcionava.

Agora tenho outra duvida!

Tenho varios dados para passar pelo metodo POST com o name igual mudando apenas o id, como é que eu faço para receber os valores pelo metodo POST sendo que o name é igual para todos?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      150.8k
    • Total Posts
      648.8k
×
×
  • Create New...