Jump to content

Extrair valor seleccionado na combobox


geek

Recommended Posts

Boas Pessoal,

Já ando há uns tempos a pesquisar como obtenho o valor de uma selecção numa combobox em PHP, já vi muitos exemplos mas com botão input. Eu queria que ao seleccionar ficasse logo com o valor. Alguém me pode ajudar, é que não encontrei mesmo nada na net.

<select name="country_id" class="large-field" onchange="$('#payment-address select[name=\'zone_id\']').load('index.php?route=checkout/register/zone&country_id=' + this.value);">
<option value=""><?php echo $text_select; ?></option>
<?php foreach ($countries as $country) { ?>
<?php if ($country['country_id'] == $country_id) { ?>
<option value="<?php echo $country['country_id']; ?>" selected="selected"><?php echo $country['name']; ?></option>

<?php } else { ?>
<option value="<?php echo $country['country_id']; ?>"><?php echo $country['name']; ?></option>

<?php } ?>
<?php } ?>
</select>


<br />
<br />
<span class="required">*</span> <?php echo $entry_zone; ?><br />
<select name="zone_id" class="large-field">
////////

<option value="<?php echo OKAAA; ?>"><?php echo OKAAA; ?></option>

</select>
O que pretendo é seleccionar o pais na primeira combobox, e de acordo com o pais ele me mostre as cidades. Só que sem saber qual o pais seleccionado não consigo ir a Base Dados.

Ajudem-me pf 🙂

Link to comment
Share on other sites

não percebi o que disseste mas o que pretendes será:

- ao selecionar um elemento do combobox

- fazer um pedido ao servidor por AJAX com o parâmetro do valor do combobox

- o servidor irá construir ou a lista de elementos do segundo combobox ou criar o HTML das options do segundo combobox

- ler a resposta do servidor

- preencher o segundo combobox com os valores respondidos pelo servidor

isto será tudo em javascript excepto claro a criação da resposta do lado do servidor que será em PHP

IRC : sim, é algo que ainda existe >> #p@p
Link to comment
Share on other sites

  • 5 weeks later...

é bastante facil...

a 1ª combobox está preenchida quando carrega a pagina certo?!

sendo assim basta uma simples função de javascript identica ao código abaixo

<SCRIPT language="Javascript">
<!--
<!-- Combo dinâmica -->  
function psq_epoca(id){
//window.alert(id)
 window.location="?opcao=jogos&ID_epoca="+id + status;
}
</script>
/*
Fazes a pesquisa para preencher a 1ª combobox...
*/
   $consulta=mysql_query($sql);
   while ($array=mysql_fetch_array($consulta)) {
    $ID_epoca = $array['ID_epoca'];
       $epoca = $array['epoca'];
    $desc = $array['nome_epoca'];
    if ($ID_epoca == $tepoca){
        echo"<option onclick=\"javascript:psq_epoca(".$tepoca.")\" selected=".$tepoca." value=".$tepoca.">".$epoca."</option>";
    } else {
  		 echo"<option onclick=\"javascript:psq_epoca(".$ID_epoca.")\" value=".$ID_epoca.">".$epoca."</option>";
    }
 }
 echo " </select></div> ";

agora é claro que é necessário adaptar mas basicamente so é necessário uma função em javascript semelhante à que está em cima para cada combobx de forma a enviar o valor de uma variavel para a proxima combobox

"Innovation distinguishes between a leader and a follower." Steve jobs.

Link to comment
Share on other sites

<SCRIPT language="Javascript">
<!--
<!-- Combo dinâmica -->  
function psq_epoca(id){
 window.location="?opcao=jogos&ID_epoca="+id + status;
}
</script>

sabes que isto salta de página certo ?? que é mais ou menos completamente diferente do AJAX ...

IRC : sim, é algo que ainda existe >> #p@p
Link to comment
Share on other sites

acho que já descubri a solução, utilizo jquery para ir buscar o valor. Passo os dados do php para um array em javascript e depois faço o quero 🙂

Não é preciso jquery... Apenas Ajax resolve o teu problema...

- ao selecionar um elemento do combobox

- fazer um pedido ao servidor por AJAX com o parâmetro do valor do combobox

- o servidor irá construir ou a lista de elementos do segundo combobox ou criar o HTML das options do segundo combobox

- ler a resposta do servidor

- preencher o segundo combobox com os valores respondidos pelo servidor

Isto resume basicamente o que precisa de fazer usando AJAX (javascript)... Esquece o jquery... É avançado demais para o que precisas que é uma coisa simples...

De qualquer forma se pretendes mesmo seguir o caminho do jQuery vê esta pagina: http://www.appelsiini.net/projects/chained

Em AJAX vê o seguinte tutorial: http://www.blueicestudios.com/chained-select-boxes-using-php-mysql-ajax/ e os exemplos em: http://blueicestudios.com/chained-select-boxes/ e http://blueicestudios.com/chained-select-boxes/three-tier/

Se precisares de ajuda com o Ajax... Apita!

Edited by RootShell
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.