Foros del Web » Programando para Internet » Javascript »

desactivar valor de un select

Estas en el tema de desactivar valor de un select en el foro de Javascript en Foros del Web. Tengo dos select iguales como el siguiente: <select id="idioma1" class="campoTexto" name="idioma1"> <option value="-">-</option> <option value="ingles">Ingl&eacute;s</option> <option value="frances">Franc&eacute;s</option> <option value="portugues">Portugu&eacute;s</option> </select> Quiero que si pincho en ...
  #1 (permalink)  
Antiguo 04/03/2009, 04:19
 
Fecha de Ingreso: octubre-2008
Ubicación: Madrid
Mensajes: 352
Antigüedad: 15 años, 6 meses
Puntos: 5
desactivar valor de un select

Tengo dos select iguales como el siguiente:

<select id="idioma1" class="campoTexto" name="idioma1">
<option value="-">-</option>
<option value="ingles">Ingl&eacute;s</option>
<option value="frances">Franc&eacute;s</option>
<option value="portugues">Portugu&eacute;s</option>


</select>

Quiero que si pincho en el primero, por ejemplo,"ingles", no se muestre en el segundo.

Gracias.
  #2 (permalink)  
Antiguo 04/03/2009, 07:44
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: desactivar valor de un select

Puedes usar el evento onchange y comprobar si el elemento seleccionado es ese. Por ejemplo:
Código javascript:
Ver original
  1. if (this.value=="ingles") {
  2.     otroselect.style.visibility = "hidden";
  3. }
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 04/03/2009, 09:41
 
Fecha de Ingreso: octubre-2008
Ubicación: Madrid
Mensajes: 352
Antigüedad: 15 años, 6 meses
Puntos: 5
Respuesta: desactivar valor de un select

Pero lo que me dices tu...deshabilita el select no la opcion en concreto...

tengo:
<select id="idioma1" class="campoTexto" name="idioma1">
<option value="-">-</option>
<option value="ingles">Ingl&eacute;s</option>
<option value="frances">Franc&eacute;s</option>
<option value="portugues">Portugu&eacute;s</option>


<select id="idioma2" class="campoTexto" name="idioma2">
<option value="-">-</option>
<option value="ingles">Ingl&eacute;s</option>
<option value="frances">Franc&eacute;s</option>
<option value="portugues">Portugu&eacute;s</option></select>

Si en select 1 pincho el option "ingles" en el select con id=idioma2 no debería salir. y viceversa.

Uso jsp, html y javascripts en mi código.

Gracias.
  #4 (permalink)  
Antiguo 04/03/2009, 10:45
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: desactivar valor de un select

Ah, lo que quieres quitar es el elemento en sí y no ocultar el select .

En ese caso deberás borrarlo (ya que ocultar no se puede), con select.options[indice] = null
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 04/03/2009, 12:11
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: desactivar valor de un select

Hola

Con permiso ... David

Creo que lo que necesitas es AJAX + (ASP o PHP). De tal forma que cuando se escoja una de las opciones del primer select mande a llamar un recorset ficticio, con el que se montará las opciones del segundo select. Esto sería un ejemplo

Código asp:
Ver original
  1. Arreglo2 = Array("ingles","frances","aleman")
  2. ' ========= Eliminamos los elementos repetidos de Arrglo1 y Arreglo2 ===
  3. CONST adInteger = 3
  4. CONST adOpenDynamic = 2
  5. CONST adUseClient = 3
  6.  
  7. Set rs2 = Server.CreateObject("ADODB.Recordset")
  8. With rs2
  9.     .CursorLocation = adUseClient ' El cursor
  10.     .CursorType = adOpenDynamic ' Como se recorre (rs)
  11.     .Fields.Append "elemento", adInteger, 255, &H00000020 ' Tipo de campo
  12.     .open
  13.  
  14.     For z = 0 to UBound(Arreglo2)
  15.         .AddNew
  16.         .Fields("elemento") = Arreglo2(z) ' Inserta los datos de Arreglo2
  17.         .update
  18.     Next 'z
  19.  
  20.          tmp = " elemento <> " & Join(Arreglo1, " AND elemento <> ") ' Hace consulta
  21.  
  22.         .Filter = tmp ' Filtra valores iguales
  23.         .MoveFirst
  24. %>
  25. Hora Inicio 2 <select name="select2">
  26. <option value="">Selecionar</option>
  27. <%
  28.         do while not .eof
  29. %>
  30. <option value="<%=rs2("elemento")%>"><%=rs2("elemento")%></option>
  31. <%
  32.         .Movenext
  33.         loop
  34. %>
  35. </select>
  36. <%
  37.         .close
  38. End With
  39. Set rs2 = nothing

NOTA: Arreglo 1 es la opción seleccionada del primer select.

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />

Última edición por Adler; 04/03/2009 a las 12:35
  #6 (permalink)  
Antiguo 04/03/2009, 15:15
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: desactivar valor de un select

No hay problema, Adler. De hecho, yo ni siquiera estoy entendiendo muy bien qué es lo que quiere hacer .
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #7 (permalink)  
Antiguo 05/03/2009, 04:00
 
Fecha de Ingreso: octubre-2008
Ubicación: Madrid
Mensajes: 352
Antigüedad: 15 años, 6 meses
Puntos: 5
Respuesta: desactivar valor de un select

¿os habéis leído mi pregunta?...que decis que no entendeís...

Os pongo los dos select con todo el código..enterito...

Y digo que si pincho ingles en el select 1 no salga en el 2...
¿que parte no entendéis?

Al final pongo que uso jsp, html y javascript y me mandáis un código de phs y asp...
  #8 (permalink)  
Antiguo 05/03/2009, 06:41
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: desactivar valor de un select

Yo ya te respondí tu pregunta con Javascript:
http://www.forosdelweb.com/f13/desac...9/#post2808136

Si no es eso, explícanos mejor lo que quieres hacer.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #9 (permalink)  
Antiguo 05/03/2009, 07:10
 
Fecha de Ingreso: octubre-2008
Ubicación: Madrid
Mensajes: 352
Antigüedad: 15 años, 6 meses
Puntos: 5
Respuesta: desactivar valor de un select

De verdad no se como explicarme mejor...

1-tengo dos select iguales....que son:

<select id="idioma1" class="campoTexto" name="idioma1">
<option value="-">-</option>
<option value="ingles">Ingl&eacute;s</option>
<option value="frances">Franc&eacute;s</option>
<option value="portugues">Portugu&eacute;s</option>


<select id="idioma2" class="campoTexto" name="idioma2">
<option value="-">-</option>
<option value="ingles">Ingl&eacute;s</option>
<option value="frances">Franc&eacute;s</option>
<option value="portugues">Portugu&eacute;s</option></select>


2-Si en select con id="idioma1" selecciono el "option" con valor ingles, al seleccionar este, con un método de javascript me haga invisible en el select con id="idioma2" me quite el valor ingles.

3- NO USO PHP NI AJAX...USO JSP, JAVASCRIPT Y HTML...
  #10 (permalink)  
Antiguo 05/03/2009, 07:54
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: desactivar valor de un select

Hola

David ya te dio la solución, el script sería algo como

Código javascript:
Ver original
  1. function borrar(elemento) {
  2. for (i=0; idioma2=document.getElementById("idioma2").options[i]; i++)
  3. if (idioma2.value==elemento)
  4. document.getElementById("idioma2").options[i]=null;
  5. }

Es que no tiene mucho sentido, lo que quieres hacer y como quieres hacerlo. Puesto que cuando el usuario seleccione una de las opciones, esa opción desaparecerá del segundo combo. Ahora la pregunta es ¿y si el usuario selecciona "inglés" por equivocación y después selecciona "francés" y finalmente lo piensa mejor y selecciona "portugués". En tal caso el segundo combo quedaría vacío, a no ser que se refrescará la página

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #11 (permalink)  
Antiguo 05/03/2009, 08:04
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 19 años, 11 meses
Puntos: 834
Respuesta: desactivar valor de un select

Fijate si te sirve:
Código:
<form id="form1" name="form1" method="post" action="">
 <select id="idioma1" class="campoTexto" name="idioma1" onchange="var t='<select id=&quot;idioma2&quot; class=&quot;campoTexto&quot; name=&quot;idioma2&quot;>';for(var i=0;this.options[i];i++){if(i==this.selectedIndex)continue;t+='<option value=&quot;'+this.options[i].value+'&quot;>'+this.options[i].innerHTML+'</option>'};if(this.selectedIndex==0)t='<select id=&quot;idioma2&quot; class=&quot;campoTexto&quot; name=&quot;idioma2&quot;>'+this.innerHTML;document.getElementById('idioma2').parentNode.innerHTML=t+'</select>';">
<option value="-">-</option>
<option value="ingles">Ingl&eacute;s</option>
<option value="frances">Franc&eacute;s</option>
<option value="portugues">Portugu&eacute;s</option>
</select>
<div>
<select id="idioma2" class="campoTexto" name="idioma2">
<option value="-">-</option>
<option value="ingles">Ingl&eacute;s</option>
<option value="frances">Franc&eacute;s</option>
<option value="portugues">Portugu&eacute;s</option>
</select>
</div>
</form>
  #12 (permalink)  
Antiguo 05/03/2009, 09:15
 
Fecha de Ingreso: octubre-2008
Ubicación: Madrid
Mensajes: 352
Antigüedad: 15 años, 6 meses
Puntos: 5
Respuesta: desactivar valor de un select

A lo mejor seria mejor en vez de borrar, crear el select 2:
Osea, si en el primer select elijo ingles:
me cree el segundo con frances y portugues.
Si pincho en frances:
me cree el segundo con ingles y portugues.
Y si pincho en portugues:
me cree el segundo con ingles y frances.
  #13 (permalink)  
Antiguo 05/03/2009, 09:51
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 19 años, 11 meses
Puntos: 834
Respuesta: desactivar valor de un select

Evidentemente no probaste lo que te dejé: en realidad hace eso que decís casi exactamente.
  #14 (permalink)  
Antiguo 05/03/2009, 17:01
 
Fecha de Ingreso: octubre-2008
Ubicación: Madrid
Mensajes: 352
Antigüedad: 15 años, 6 meses
Puntos: 5
Respuesta: desactivar valor de un select

Panino5001...va perfecto...muchisimas gracias...
y muchas gracias a todos por vuestro interes...
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 09:57.