Ver Mensaje Individual
  #5 (permalink)  
Antiguo 04/03/2009, 12:11
Avatar de Adler
Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 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