Comunidad de diseño web y desarrollo en internet online

Problemas con <select> y <option>

Citar            
MensajeEscrito el 06 Feb 2009 06:45 pm
Hermanos clabbers una vez mas recurroa uds por una duda existencial xD

Digamos que tenemos un formulario con 2 <select> ambos contienen las mismas n <option> extraidos de una bd y generados via PHP, dado ese escenario, se necesita hacer lo siguiente:

Al momento de seleccionar una de las opciones de uno <select> esta debe quedar anulada, bloqueda, no elegible, o si se puede desaparecerla de las opciones del otro <select>, esto debera ser actualizable cada que el valor cambie. Todo esto sin necesidad de recarga la pagina

Obviamente paar hacer esto es necesario usar javascript, en mi caso lo he intentado con jquery usando el evento .change pero no se como decirle a jquery que identifique el option del segundo select

lo que le he puesto es algo como

Código Javascript :


$(document).ready(function(){
  $('#select1').change(function(){
    $('#select2 option:contain('+$(this).val()+')').attr('disabled'.'disabled');
  )};
});



Supongo que el error esta en el identificador de la opcion, espero sus comentarios y/o sus correciones. Gracias de antemano.

Por NeoCesar

Claber

1415 de clabLevel

14 tutoriales

Genero:Masculino  

Algun lugar dentro de la Matrix (Lima - Perú)

firefox
Citar            
MensajeEscrito el 20 Feb 2009 06:10 am
No uso JQuery, por eso ni mire el codigo, pero creo que deberias pasar como parametro el valor del option, para que sepa cual eliminar en el segundo select.

Por eseceve

26 de clabLevel



 

firefox
Citar            
MensajeEscrito el 20 Feb 2009 06:32 pm
no te esta funcionando por que te falta especificarle el atributo "value" del option, el selector quedaría asi:

Código :

var val = 'mundo';
$('#select2 option[value='+$(this).val()+']').remove();


y listo!! te va a quitar del segundo combo el valor seleccionado en el primero.

saludos

Por stock

26 de clabLevel



Genero:Masculino  

JavaScript Developer

firefox
Citar            
MensajeEscrito el 20 Feb 2009 06:34 pm
mmmm... quita esta linea

var val = 'mundo';

jejejeje es que hice un pequeño ejemplo y no debí copiar esa linea, mejor te lo copio todo :

Código :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
   <title>Ejemplo</title>
   <script type="text/javascript" src="jquery-1.3.2.js"></script>
   
   <script type="text/javascript">      
   $(function(){
      var val = 'mundo';
      $('#combo option[value='+val+']').remove();
   });
   </script>
</head>

<body>

<select id="combo">
   <option value="hola">Hola</option>
   <option value="mundo">Mundo</option>
   <option value="cruel">Cruel</option>
   <option value="ydespiadado">y despiadado</option>
</select>

</body>
</html>


saludos

Por stock

26 de clabLevel



Genero:Masculino  

JavaScript Developer

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.