Inicio > e-Learning, JQuery > Ejemplo Drag & Drop con Jquery

Ejemplo Drag & Drop con Jquery

Domingo, 24 de febrero de 2008 Dejar un comentario Ir a comentarios

Hoy en día las aplicaciones web pretenden ser lo más interactivo que sea posible de manera que los usuario se sientan más cómodos al utilizarlas. Una de las características que más llama la atención es el efecto Drag andDrop, es decir, arrastrar un elemento desde un punto de la página web hasta otro. Este tipo de efectos se consigue con código JavaScript; JQuery es una librería de JavaScript que permite manipular los elementos de una página web y crear animaciones bastante buenas. Pues bien, en estos momentos me encuentro en un proyecto particular, parte de lo que debo hacer consiste en crear ese efecto de Drag and Drop, así que ahoracompartiré la primera parte con Uds.

Drag and Drop con JQuery en ASP .Net

 

Para conseguir este efecto he utilizado la librería 1.1.4 de JQuery y la librería Interface.js además de colocar el efecto dentro de una Master Page para que noten como se agregan los datos al TextBox a través de JavaScript, ya que con una Master Page los controles cambian de nombre en el resultado html. Al arrastrar cada elemento de una lista a otra, se ejecuta una función de JavaScript que se encarga de recorrer las listas con los elementos que contiene cada uno y colocarlas en un cuadro de texto de Asp .Net con el formato <idLista>|<idElemento> separadas cada una por comas. Cabe aclarar que la web esta construída con divs y hojas de estilo, respetando los estándares de usabilidad (suena bonito no?) y que los elementosque serán arrastrados son etiquetas <li> de html formateadas con CSS.

Pues bien, el proyecto contiene todo el código lo más sencillo posible de manera que al leerlo podrán entenderlo, se incluyen las librerías de JavaScript necesarios. y a partir de este punto ya pueden utilizarlo de la manera que deseen. El código lo pueden utilizar en cualquier tecnología web, es decir: ASP, ASP .Net, PHP, JSP, etc. Para el caso de ASP .Net lo único que se debe respetar es la forma de recuperar los datos hacia la caja de texto de ASP .Net ya que, como se comentó lineas arriba, los nombres de los controles suelen cambiar.

Descargar el ejemplo completo de: JQuery Drag & Drop

Espero que les sea de utilidad.

Saludos.

Categories: e-Learning, JQuery
 

  1. Mario Soto
    Miércoles, 28 de mayo de 2008 a las 17:45 | #1

    Esta en ASP!!!!

    No conoces el php???

  2. h@nz
    Jueves, 29 de mayo de 2008 a las 14:41 | #2

    Hola Mario, si lo conozco pero no me agrada mucho, y además, yo desarrollo en ASP .Net, sin embargo, este ejemplo lo puedes utilizar perfectamente en PHP, JSP u otro con solo un par de modificaciones muy sencillas.

    Saludos.

  3. Sábado, 31 de mayo de 2008 a las 21:58 | #3

    Estaria buenisimo que mostraras el codigo directamente… para no tener que descargar el .rar subirlo al servidor local… ejecutarlo.. ver donde esta el codigo… en fin… es solo una critica constructiva… muchos exitos con tu blog!…

    el “Manu”.

  4. Andresneo
    Domingo, 7 de diciembre de 2008 a las 22:40 | #4

    Amigo, como puedo reemplazar los “div” por “listBox” por ejemplo?, la idea es llenar con elementos traidos de la bdatos y al arrastrar los elementos guardarlos en la badatos.

  5. Mario Vial
    Jueves, 11 de diciembre de 2008 a las 22:15 | #5

    Hola, vi tu ejemplo, está bueno.
    no tendrias uno en java?
    te lo agradecería.

  6. Xavi
    Miércoles, 18 de marzo de 2009 a las 17:06 | #6

    Mario tu eres anormal, no?

  7. Java
    Lunes, 20 de abril de 2009 a las 19:48 | #7

    lo maximo brother parece bueno lo voy aprobar en jsp y te comento como me fue

  8. Mario Soto
    Jueves, 23 de julio de 2009 a las 06:16 | #8

    No, para nada. No soy anormal. Simplemente me facilito las cosas. Si quiero que algo funcione en todos lados uso algo multiplataforma, No soy de aquellos que usan solo windows. Ahh un geek dirán, tampoco, es saber hacer las cosas para que funcionen siempre en cualquier lugar. Es hacer bien el trabajo. Si no os gusta el php bien, pero te digo que puedes hacer muchas y mejores cosas.

  9. Zoky
    Martes, 1 de septiembre de 2009 a las 04:37 | #9

    No entiendo como pueden programar en esta basura de lenguaje… Aparte de ser feo, es un choreo de java… Viva php.

  10. h@nz
    Miércoles, 2 de septiembre de 2009 a las 00:58 | #10

    @Zoky: En cuanto a PHP, el 90% de los programadores es DESORDENADO, y porqué lo es? porque el lenguaje te permite todo ese desorden.

    Ahora, cada quien trabaja en lo que mejor se desenvuelve, yo no trabajaría con PHP, no me agrada, me resulta enredado, desordenado, etc; en cuanto a .Net, bueno, solo decir, que puedes hacer mucho con él.

    Saludos.

  11. Antiheroe
    Martes, 29 de septiembre de 2009 a las 17:00 | #11

    Primero aqui esta el codigo para php, no tuve tiempo de hacerlo “ordenadamente” por que solo queria verlo funcionando.
    [code]

    Documento sin título

    jQuery(document).ready(function(){
    jQuery('ul#listaInicial').Sortable({accept: 'elemento', opacity: 0.8, revert: true, onStop: verificarDatos});
    jQuery('ul#listaUno').Sortable({accept: 'elemento', opacity: 0.8, revert: true, onStop: verificarDatos});
    jQuery('ul#listaDos').Sortable({accept: 'elemento', opacity: 0.8, revert: true, onStop: verificarDatos});
    });

    function verificarDatos(){
    var strCadena = "";
    var elementos = document.getElementById("grupoDestinos").getElementsByTagName("ul");

    for (var i=0; i < elementos.length; i++) {
    var subElementos = document.getElementById(elementos[i].id).getElementsByTagName("li");

    for (var j=0; j < subElementos.length; j++)
    strCadena = strCadena + elementos[i].id + "|" + subElementos[j].id + ",";
    }

    var rpta = document.getElementById("divResultado").getElementsByTagName("input");
    rpta[0].value = strCadena;
    }

    function addLoadEvent(func){
    if (typeof wpOnload!='function'){
    wpOnload=func;
    }else{
    var oldonload=wpOnload;
    wpOnload = function(){
    oldonload();
    func();
    }
    }
    }

    Seleccione sus elementos...

    Elemento 01
    Elemento 02
    Elemento 03
    Elemento 04
    Elemento 05
    Elemento 06
    Elemento 07
    Elemento 08
    Elemento 09
    Elemento 10

    Agregue elementos a la lista uno

    Agregue elementos a la lista dos

    Los elementos seleccionados son:

    [/code]

  12. Antiheroe
    Martes, 29 de septiembre de 2009 a las 17:08 | #12

    Perdón creo que no salio el código completamente, seguramente el envió tiene algún filtro anti inyección, pero bueno.

    Con respecto a lo que comentaban de los lenguajes de programación puedo decir lo siguiente:

    Todos son geniales, personalmente he programado en Java, ASP, PHP y hasta C# un poco. Los lenguajes no son los malos los malos son los programadores, no entiendo como pueden decir o dar una opinión de que un lenguaje es basura o no.

    ASP y .NET tiene algo fantastico y es que muchas cosas ya vienen desarrolladas y listas para implementarse.

    Java cuenta con los Struts y Frameworks como Spring que también lo hacen muy buena opción.

    Y PHP toda la flexibilidad, varios frameworks para desarrollo y que si es una copia de Java, por favor eso es una pendejada departe de quien lo diga, acaso no han visto C++, Java es muy similar, pero no por esto es una copia, así que vamos cada quien que programe lo que le de la gana y como quiera. Si usan algún patrón de desarrollo mucho mejor, no todos tenemos la oportunidad de hacerlo de esa forma, mucho tiene que ver el ambiente de la empresa para la cual desarrolles…

    Saludos y ya dejen de discutir por los lenguajes de programación.

  13. Sábado, 1 de mayo de 2010 a las 13:42 | #13

    # Mario Soto
    Mayo 28th, 2008 at 5:45 pm

    Esta en ASP!!!!

    No conoces el php???
    # h@nz
    Mayo 29th, 2008 at 2:41 pm

    Hola Mario, si lo conozco pero no me agrada mucho, y además, yo desarrollo en ASP .Net, sin embargo, este ejemplo lo puedes utilizar perfectamente en PHP, JSP u otro con solo un par de modificaciones muy sencillas.

    Saludos.

    que no te agrada mucho? asi de buen programador serás….. fuck microsoft compadre…. el php es infinitamente mejor y tiene mas posibilidades que asp….

  14. Sandra
    Jueves, 1 de julio de 2010 a las 04:24 | #14

    Podrias poner de nueva cuenta el código, esque el link ya redirecciona a hotmail y no me manda el archivo… te lo agradecería mucho.. gracias

  15. Jueves, 8 de julio de 2010 a las 17:28 | #15

    Soy programador PHP y odio completamente a Microsoft (pero es un mal necesario), y se que es muy bueno y todo, pero cada cual se maneja a su gusto con su lenguaje. Y en todo caso, estan ensuciando a los programadores de PHP porque nos estan dando una imagen de autoritarios.

    Gracias por compartir el codigo.

    Saludos,

  16. SSx
    Jueves, 26 de agosto de 2010 a las 17:38 | #16

    @Mario Soto

    PHP es malo, y mal pagado

  17. Francisco Montoya
    Lunes, 18 de octubre de 2010 a las 20:34 | #17

    La mayoria de los que dicen “fack microsoft” es por que les cuesta reconocer que c# y .net son tecnologias extraordinarias… para lograr algo en php? 2332 meses, para lograrlo en c# 1 dia?? mmm c# se esta burlando en estos momentos de java, ademas yo trabajo por plata php paga 1/4 de lo que paga .Net corta y fome. Y al que no le guste que siga mediocramente desarrollando en php.

  18. Francisco Montoya
    Lunes, 18 de octubre de 2010 a las 20:36 | #18

    Se me olvidaba, no esta en asp esta en .NET que no es lo mismo… y con esos conocimientos se quejan de microsoft?? seguramente son puros nob kiddiez!!

  19. anheru
    Jueves, 30 de junio de 2011 a las 20:49 | #19

    @mario soto

    deje de sufrir por el lenguaje viejo, sabemos que es un volador programando peeero le informo ud debe aprender a tener en cuenta los tiempos de desarrollo y la comercialización del software, lamentablemente las empresas generalmente piden desarrollos en plataforma microsoft y la otra es que php es un desorden a no ser de que use smarty o herramientas parecidas, igual ud es un valiente nadando contra la corriente, lastima que los valientes casi siempre terminan de martires…. suerte

  20. Armando
    Domingo, 28 de agosto de 2011 a las 19:27 | #20

    Hooola, el ejemplo me ha servido muucho, agradezco tu aporte :D

    He tratado que los elementos de la lista inicial sean ‘movibles’ a la segunda lista pero que a su vez queden elementos del mismo tipo y así se puedan agregar más y más.
    Que funcionara como una caja de herramientas, donde puedes agregar el mismo elemento más de una vez.

    Alguna idea, en la documentación de INTERFACE.JS no encuentro un método o evento q

  21. Armando
    Domingo, 28 de agosto de 2011 a las 19:29 | #21

    Hooola, el ejemplo me ha servido muucho, agradezco tu aporte :D

    He tratado que los elementos de la lista inicial sean ‘movibles’ a la segunda lista pero que a su vez queden elementos del mismo tipo y así se puedan agregar más y más.
    Que funcionara como una caja de herramientas, donde puedes agregar el mismo elemento más de una vez.

    Alguna idea, en la documentación de INTERFACE.JS no encuentro un método o evento q me permita hacerlo.,

    se agradece el apoyo de antemano :)

  1. Sin trackbacks aún.