Comunidad de diseño web y desarrollo en internet online

Agregar elementos desde JS con el metodo .before() de jQuery

Citar            
MensajeEscrito el 10 Abr 2014 09:48 pm
Hola, muchachos.
He agregado unos campos (select) a un formulario desde un archivo JS con el metodo .before() de jQuery. Luego tengo un fragmento de código que presta atención a esos campos (select) para retornarme el valor cada vez que cambia, lo malo es que no me retorna el valor de los campos que he agregado desde mi archivo JS. ¿Alguno sabe que es lo que está fallando?
Aquí dejo un ejemplo: EJEMPLO

Por Ferroandres

21 de clabLevel



Genero:Masculino  

Front-end + Back-end Developer

chrome
Citar            
MensajeEscrito el 11 Abr 2014 04:00 pm
Retornar???

Yo veo que si estan definidos los input.. y con nombres diferentes y todo normal.

Podrias colocar el codigo, ademas de "lo que te regresa" y "lo que quieres que regrese".

Saludo.

Por elporfirio

Claber

652 de clabLevel

1 tutorial

Genero:Masculino  

FullStack Web Developer

firefox
Citar            
MensajeEscrito el 11 Abr 2014 08:53 pm
A lo que me refería es que cuando se agrega el elemento select no puedo obtener el valor.

Código HTML :

<label>¿Cuántas habitaciones quiere?</label>
<select class="rooms_number" name="rooms_number" id="rooms_number">
  <option value="1">1</option>
  <option value="2">2</option>
  <option value="3">3</option>
  <option value="4">4</option>
  <option value="5">5</option>
</select>
  
<div class="habitantes habitacion_1">
  <fieldset>
    <label for="adult_number">Adultos</label>
    <select class="adult_number" name="adult_number" id="adult_number">
      <option value="1">1</option>
      <option value="2">2</option>
      <option value="3">3</option>
    </select>
  </fieldset>
</div>

<button class="send">Enviar</button>
  
<script>
$('.rooms_number').on('change', function() {
  $('.habitantes').remove();
  var valor = $(this).val();
  valor++;
  for (var i = 1; i < valor; i++) {
  $('.send').before('<div class="habitantes habitacion_'+ i +'">' +
  '<fieldset>' +
  '<label for="adult_number'+ i +'">Adultos</label>' +
  '<select class="adult_number'+ i +'" name="adult_number'+ i +'" id="adult_number'+ i +'"><option value="1">1</option><option value="2">2</option><option value="3">3</option></select>' +
  '</fieldset>' +
  '</div>');
   }
});

$('.adult_number').on('change', function() {
  alert($(this).val());
});
</script>

Por Ferroandres

21 de clabLevel



Genero:Masculino  

Front-end + Back-end Developer

chrome
Citar            
MensajeEscrito el 11 Abr 2014 10:56 pm
No puedes amigo, por que tu clase .adultnumber deja de ser 1 elemento para convertirse en varios.

necesitas hacer algo como

Código Javascript :

$.each($(".adult_number"), function (index, object){
    console.log("indice: " + index + "objeto: " + object);
}

Por elporfirio

Claber

652 de clabLevel

1 tutorial

Genero:Masculino  

FullStack Web Developer

firefox

 

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