Foros del Web » Programación para mayores de 30 ;) » Java »

Evento de menu

Estas en el tema de Evento de menu en el foro de Java en Foros del Web. Hola que tal a todos. Estoy empezando con javascript, y me cuesta la verdad... la duda que tengo es la siguiente: Yo tengo este script ...
  #1 (permalink)  
Antiguo 09/11/2009, 18:11
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 14 años, 5 meses
Puntos: 65
Evento de menu

Hola que tal a todos. Estoy empezando con javascript, y me cuesta la verdad... la duda que tengo es la siguiente:
Yo tengo este script de php que tiene un script de java adentro:

Código PHP:
<?php
echo "<script languaje='javascript'>function output(){

        if(menu1 == 1) {

            document.form1.chk.checked = false;
            
        }else{

        document.form1.chk.checked = true;

        }
        }
        
        </script>"
;

echo 
"<form id='form1' name='form1' action='escribir-tabla-pedidos.php' method='post'>";

echo 
"<fieldset><legend align='center'><b>Algo</b></legend>";

echo 
"<table>";

        echo 
"<tr>
            <td><input type='checkbox' name='chk' value='algo' />Algo</td>
            <td align='right' width='70px'>
                <select name='menu1'>
                    <option selected></option>
                    <option value='1' onClick='output()'>1</option>
                    <option value='2' onClick='output()'>2</option>
                    <option value='3' onClick='output()'>3</option>
                </select>        
            </td>
        </tr>"
;

echo 
"</table>";
echo 
"</fieldset>";
echo 
"</form>";
?>
Que lo que muestra es una opcion ("algo") con un ckeckbox a la izquierda, y un menu a la derecha. Bien, lo que necesito es que al elegir el valor "1" del menu (por ejemplo) se tilde automaticamente el checkbox, se entiende?

Hice ese javascript, pero no me funca y la verdad que no entiendo porq... Si alguien puede ayudarme desde ya muchas gracias!!!
  #2 (permalink)  
Antiguo 10/11/2009, 04:54
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Respuesta: Evento de menu

Esto es de javascript, luego debería ir en el subforo de javascript, porque como veo que es javascript con php, en el de java no pintaría nada.

A ver si algún moderador lee esto y te lo mueve al foro más adecuado para que te ayuden.

De todos modos así visto a priori creo que en el script tienes el comportamiento deseado al revés, que cuando marcas 1 el chk se desmarca, y cuando marcas los otros permanece marcado.

y en function output() prueba a definir antes de nada lo siguiente:

var menu1 = document.form1.menu1.selectedIndex.value;

(yo usaría menuvalue como variable y reharía toda la función)

"<script languaje='javascript'>function output(){

var menuvalue = document.form1.menu1.selectedIndex.value;

if(menuvalue == 1) {

document.form1.chk.checked = true;

}else{

document.form1.chk.checked = false;

}
}

</script>"
  #3 (permalink)  
Antiguo 10/11/2009, 09:14
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 14 años, 5 meses
Puntos: 65
Respuesta: Evento de menu

Gracias por la ayuda Fuzzylog!

Pasa algo raro con lo que me pasaste... funciona al reves digamos, si esta tildado el chk, se destilda al elegir una opcion del menu, y al reves no hace nada...

Y ademas imprimi la variable que devuelve el menu 1 y dice "undefined", alguna idea?

Gracias

Última edición por jackson666; 10/11/2009 a las 09:52
  #4 (permalink)  
Antiguo 10/11/2009, 10:37
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Respuesta: Evento de menu

No. Lo que yo dije en ese script es que se marque como checked (=true) solo en el caso de que selecciones la opción de valor 1 en el menú [if (menuvalue == 1) ...]. En cualquier otra opción se desmarcará [ else { ... }].

Es decir. Si tienes el check marcado y pulsas 2 en el menú, se desmarcará. Si no tienes el check marcado y pulsas 2 en el menú no hará nada, pero si pulsas 1, se marcará. Con 3 se comportará igual que con 2. Si tienes el check marcado y pulsas 1, el check seguirá marcado... Si quieres un comportamiento distinto define bien el script teniendo muy claro que es lo que quieres hacer.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:25.