Foros del Web » Programando para Internet » Jquery »

Obtener id's de divs hijos, jQuery UI

Estas en el tema de Obtener id's de divs hijos, jQuery UI en el foro de Jquery en Foros del Web. Buenas tardes: Primero que nada gracias por el tiempo que le dan a este tema al leerlo. Ahora, tengo una consulta, ojala que me pueden ...
  #1 (permalink)  
Antiguo 24/03/2011, 15:03
Avatar de yeudiel  
Fecha de Ingreso: abril-2008
Ubicación: Ciudad de México
Mensajes: 78
Antigüedad: 16 años
Puntos: 1
Pregunta Obtener id's de divs hijos, jQuery UI

Buenas tardes:

Primero que nada gracias por el tiempo que le dan a este tema al leerlo. Ahora, tengo una consulta, ojala que me pueden ayudar. Estoy trabajando en un pequeño script para drag and drop de algunos elementos, son div's pero tengo div's padres (.embarques) y div's hijos (.especie). Al momento de arrastrarlos al contenedor (.corral1) quisiera obtener los id's de los elementos, en el caso de arrastrar un div hijo, solo obtener el id de ese elemento, pero al momento de arrastrar un div padre, obtener el id de todos los div's hijos que contenga. Se como obtener el id de un solo elemento que se arrastro y solto dentro del contenedor pero no se como hacerlo para un div padre y mas que nada para que detecte si es un div padre o hijo el que se solto y realizar las funciones necesarias para guardar ese id en una variable, ya sea como un array o como una cadena de texto separada por comas.



Código HTML:
$(".corral1").droppable({
                    accept: ".especie, .embarques",
                    activeClass: "corral1Active",
                    hoverClass: "corral1Hover",
                    drop: function( event, ui ) {
                    $('.info').text('Animal número: '+ui.draggable.attr('id'));// Aqui obtengo el id del elemento hijo y lo imprimo en la pagina
            }
                });
Ojala me puedan ayudar.

Saludos y Gracias
  #2 (permalink)  
Antiguo 24/03/2011, 15:39
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 3 meses
Puntos: 845
Respuesta: Obtener id's de divs hijos, jQuery UI

Que tal yeudiel,

para saber si es un hijo o un padre puedes utilizar la clase css del elemento y para obtener los hijos puedes utilizar find, algo asi:

Código Javascript:
Ver original
  1. ...
  2. drop: function( event, ui ) {
  3.    //array de ids
  4.     var ids = ui.hasClass('especie')
  5.             ? [ui.attr('id')]
  6.             : ui.find('.especie').map(function(){ return this.id; }).get();
  7.     //para transformar a string
  8.     //var ristra = ids.join(',');
  9. }
  10. ...

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #3 (permalink)  
Antiguo 24/03/2011, 16:48
Avatar de yeudiel  
Fecha de Ingreso: abril-2008
Ubicación: Ciudad de México
Mensajes: 78
Antigüedad: 16 años
Puntos: 1
Respuesta: Obtener id's de divs hijos, jQuery UI

Muchas gracias masterpuppet

Me ha servido de maravilla, ahora lo que sigue es leerme toda la doc del hasClass, find y map.

Porque me gusta el buen karma se que a ti tambien.

Saludos
  #4 (permalink)  
Antiguo 26/03/2011, 21:54
 
Fecha de Ingreso: noviembre-2005
Mensajes: 426
Antigüedad: 18 años, 5 meses
Puntos: 87
Respuesta: Obtener id's de divs hijos, jQuery UI

Código Javascript:
Ver original
  1. var ids = ui.hasClass('especie')
  2.             ? [ui.attr('id')]
  3.             : ui.find('.especie').map(function(){ return this.id; }).get();

Que código mas lindo y hermoso, parece hecho por mi lol.

Aqui una alternativa:


Código Javascript:
Ver original
  1. drop: function( event, ui ) {
  2.  
  3. var ids = "";
  4. ui.hasClass("especie") ?
  5. ids=ui[0].id :
  6. ui.find(".especie").each(function(){ids += this.id + ","});
  7.  
  8. }

Última edición por InKarC; 26/03/2011 a las 23:18
  #5 (permalink)  
Antiguo 27/03/2011, 15:46
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Tema movido desde AJAX
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo

Etiquetas: ajax, children, jqueryui, parents
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 01:34.