Como carregar um combobox a partir de outro

1. Como carregar um combobox a partir de outro

Cristiano
cpa83

(usa Debian)

Enviado em 26/06/2012 - 17:37h

Minha dúvida é como montar um combobox a partir de outro através de um select no postgres.Preciso que quando o usuário selecione um item no primeiro combo abra no segundo apenas as opções desejadas


  


2. Re: Como carregar um combobox a partir de outro

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 29/06/2012 - 01:07h

Use javascript com ajax, eu usaria jquery, ficaria mais ou menos assim: (código funcional mais sem o banco de dados):


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<script src="js/jquery-1.7.2.min.js" language="JavaScript"></script>
<script type='text/javascript'>

function _getCombo(varFiltro) {
$.ajax({
url: 'arquivo.php',
dataType: 'html',
data: {filtro: varFiltro},
type: 'POST',

success: function(data) {
$('#comboNovo').html(data);
},
error: function( xhr, er, index, anchor ) {
$('#comboNovo').html('Error ' + xhr.status);
},
beforeSend: function() {
$('#comboNovo').html('carregando..');
}
});
}

</script>
</head>
<body onload="_getCombo('todos');">

<select onchange="_getCombo(this.value);">
<option>VALOR1</option>
<option>VALOR2</option>
</select>
<div id='comboNovo'></div>
</body>


No arquivo referenciado pela função $.ajax(...., coloque seu código que obtem os dados do postgres:


<?php

$filtro = isset( $_POST['filtro'] ) ? $_POST['filtro'] : NULL;

# codigo para obter os dados do banco de acordo com o filtro ...

$html = "<select><option>teste</option></select>";
$html .= "<select><option>teste</option></select>";
$html .= "<select><option>teste</option></select>";
echo $html;
?>


Prontinho, só adaptar ;-)


3. Re: Como carregar um combobox a partir de outro

Cristiano
cpa83

(usa Debian)

Enviado em 16/07/2012 - 15:43h

O problema e que quando chamar um item do combo 1 devia aparecer alguns itens no 2 desse jeito consigo apenas 1


4. Re: Como carregar um combobox a partir de outro

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 16/07/2012 - 22:00h

Não senhor, o código que passei faz exatamente isso, só precisa adaptar para o seu código e seu banco de dados.


5. Re: Como carregar um combobox a partir de outro

Cristiano
cpa83

(usa Debian)

Enviado em 17/07/2012 - 07:50h

Se o senhor ta dizendo eu acredito!! kkkk, cara valeu pela ajuda, vou tentar adaptar aqui e depois retorno, obrigado !!


6. Dúvida

Mélory Mônie de Souza Zolino
melorymonie

(usa Linux Mint)

Enviado em 17/09/2013 - 09:06h

O exemplo funcionou perfeitamente..
mas agora vem a dúvida:

como eu faço para pegar o value deste combobox que foi carregado com ajax quando aperto o sumit??

se eu der um exibir código (após o combo2 ter sido carregado) os dados não são exibidos no código fonte.

Alguém sabe?