• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Mister D Santoz

Seleccionar valor numa combo

15 mensagens neste tópico

Saudações!

Tenho aqui um script que saca os valores duma variável php que depois é  recuperada pelo javascript. Até aqui sem novidades agora preciso é de seleccionar numa combo o valor igual ao que esta variavél tem. Isto é, imaginem que a variavel vem com o valor 2 na combo vai seleccionar a option=2... agora ando aqui às voltas com isto que é coisa para ser tão facil que me estou a ver grego para encontrar no google. Alguém para dar uma linha?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Já agora,

se estiveres  a usar Jquery sempre podes simplificar com:

$("#mySelect option[value=3]").attr('selected', 'selected');

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Sim isso eu sei, tenho isto assim pode ser que ajude...

function selecciona()  {

var ano = "<?php echo $ano;?>";

var mes = "<?php echo $mes;?>";

var dia = "<?php echo $dia;?>";

document.myform3.c3.selectedIndex=(ano);

}

agora onde me me esta a falhar é na penúltima linha, nao encontro aqui nada parecido apesar de ter a noção que é por esses lados que a coisa funca

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

esquecime do .value

document.myform3.c3.selectedIndex.value=(ano);

nada, mas não deve andar longe digo eu

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

isto nao está facil... ainda ninguém para dar uma ajudita?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O value da option que queres seleccionar é exactamente igual ao selectedIndex que estás a seleccionar?

Começa por algo mais simples, como seleccionar o 1º elemento, e depois o 3º, so para despistar se o problema não está na referência dos objectos em Javascript.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas

eu pessoalmente faria de outra forma, mas pelo que aqui colocas-te aqui tens a tua opção a funcionar.

<?
$ano="1";
$mes="2";
$dia="3";
?>

<script type="text/javascript">
function selecciona()   {
var ano = "<?php echo $ano;?>";
var mes = "<?php echo $mes;?>";
var dia = "<?php echo $dia;?>";
document.myform3.c3.selectedIndex=ano;
}
</script>	

<form name="myform3" id="myform3">
<select name="c3" id="c3">
<option value="0" selected>Seleccionar</option>
<option value="1">O que queres</option>
<option value="2">Outro qualquer</option>
</select>
<input type="button" onclick="selecciona();" value="pega la">
</form>

Coloquei no form e no select o name e ID mas neste caso apenas necessitas dos names, os id até os podes remover

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Pois isso funcionaria mas os valores dos index nao são os mesmos por exemplo que o valor que a variavel ano iria ter

estilo $ano = "2009";

e o index disso poderia ser sei la 10 ou 20 nunca o 2009.

penso que existe uma função qualquer no javascript que faz o selectedindex mas em vez de ser pelo valor da option é pelo conteúdo texto dela, nao sei se me fiz entender...

option 1 > value 2009

alguém sabe cmo ficaria a linha mas em vez de controlar pelo valor da option controlar pelo texto que esta tenha?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

M6, pois é essa mesma a questão da coisa, é que o valor da option nao é igual ao valor do selectedindex

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Então tens de garantir que o valor do value da option é igual ao valor que queres seleccionar.

Por exemplo:

<select>

  <option value="volvo">Volvo XC90</option>

  <option value="saab">Saab 95</option>

  <option value="mercedes">Mercedes SLK</option>

  <option value="audi">Audi TT</option>

</select>

Tens de seleccionar o valor "mercedes" e não "Mercedes SLK", o que interessa é o identificador (o valor do value) e não o descritivo.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Pois isso sei eu mas nao é assim tao basico a coisa... repara no que tenho que fazer... tenho dois códigos diferentes que tem que trabalhar ao mesmo tempo.:

3 combos (dia, mes, ano)

na combo ano vai de 1900 até agora, o mes os dias do mes e o dia o mesmo depois quando altero numa das combos vai escrevendo numa txt verificando se o ano é bisexto, se o mes tem 28, 29, 30 ou 31 dias esta parte 5 estrelas sem stress. agora vindo dda bd tenho uma variavel com uma data que já fiz o splite e que é recuperada por javascript.. até ai 5 estrelas tb, agora o interesse desta parte do código é que essa data que veio da bd seja desenhada nas combos tipo:

data da be: 13-07-2009

na combo ano selecciona automaticamente 2009 no dia 13 e no mes 7 entendes o stress?

Só se quando carrego as combos com o ciclo em vez de colocar so o value coloco  name também... era isso que dizias nao é?

depois chamo la no js pelo selectedindex entao.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ups nao era isso que queria dizer, referia-me ao value e ao descritivo... mas nao se ise isso nao me vai ter que alterar depois os códigos todos... tou feito ao bife com isto lol

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

bem, para nao ter que alterar isto tudo vê la se me ajudas com isto:

var i = document.<?php echo $this->field; ?>_myform1.c2.selectedIndex; // valor da posiçao por exemplo 1

var d = document.<?php echo $this->field; ?>_myform1.c2.text; // valor seleccionado por exemplo 2009

essas duas linhas uma sacam entao da combo via js a posiçao e o valor que estao seleccionados na altura para escrever na tal txt ao mesmo que tempo que vais mudando as combos.

        var ano = "<?php echo $ano;?>";

e esta recupera o valor da variavel ano que vem da bd (neste caso seria 2009)

agora tenho maneira de comparar a de baixo com alguma das de cima?

Nao dá para compar o valor da linha debaixo com o valor da segunda de cima? depois era so fazer o selectedindex ou estou a pensar mal?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora