Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Como tener mas control sobre los dialog box?

Estas en el tema de Como tener mas control sobre los dialog box? en el foro de Frameworks JS en Foros del Web. Hola, Estoy intentando usar dos dialog boxes con jquery ui pero he estado obligado a repetir dos veces el evento click para poder controlar cual ...
  #1 (permalink)  
Antiguo 22/05/2011, 16:29
 
Fecha de Ingreso: noviembre-2002
Ubicación: Suecia
Mensajes: 253
Antigüedad: 17 años, 11 meses
Puntos: 2
Como tener mas control sobre los dialog box?

Hola,

Estoy intentando usar dos dialog boxes con jquery ui pero he estado obligado a repetir dos veces el evento click para poder controlar cual es la que se abrira.
Supongo que debe haber una manera mas logica para controlar cual link se ha clickeado y asi saber cual dialog box se abrira, pero no se me ocurre como...

esto es lo que he hecho hasta ahora:

HTML:
Código PHP:
<div class="themeBoxGreen">
            <
a id="openDialog1" href="#">
                <
img src="/Fixafesten/images/pressmaterial/Samlingsbild.jpg" alt="Bild"/>
            </
a>
            <
div id="dialogBox1" title="Descarga el material">
                <
ul>
                        <
li><a href="/Fixafesten/pressMaterial/images/Samling.tif">.TIF Format</a></li>
                        <
li><a href="/Fixafesten/pressMaterial/images/Samlingsbild.jpg">.JPG Format</a></li>
                    </
ul>
            </
div>
        </
div>
        <
div class="themeBoxGreen">
            <
a id="openDialog2" href="#">
                <
img src="/Fixafesten/images/pressmaterial/fixa_festen_72dpi_RGB.jpg" alt="Logo"/>
            </
a>
            <
div id="dialogBox2" title="Descarga el material">
                <
ul>
                        <
li><a href="/Fixafesten/pressMaterial/images/Fixa_festen_300dpi_CMYK.tif">.TIF Format</a></li>
                        <
li><a href="/Fixafesten/pressMaterial/images/fixa_festen_72dpi_RGB.jpg">.JPG Format</a></li>
                    </
ul>
            </
div>
        </
div
Y este es el jquery (lo estoy usando en conjunto con Jquery UI):

Código PHP:
$(function() {
               var 
dialogOpts = {
                    
autoOpenfalse
               
};
               
               $(
"#dialogBox1").dialog(dialogOpts);
               $(
"#dialogBox2").dialog(dialogOpts);
               
               $(
".openDialog1").click(function() {
                   $(
"#dialogBox1").dialog("open");
               });
               
               $(
".openDialog2").click(function() {
                   $(
"#dialogBox2").dialog("open");
               });
               
            }); 
Como veran en el script estoy repitiendo la funcion para poder abrir las boxes de una manera mas controlada, pero como utilizar solo una funcion click que determine cual link fue clickeado y abra la box correspondiente. La forma que he escrito es medianamente aceptable si tengo solo dos boxes pero la realidad es diferente y hay paginas en las cuales debo mostrar hasta 6 boxes y asi como lo he escrito no es funcional.

Alguna pista o ayuda seria de gran utilidad,
gracias de antemano.
  #2 (permalink)  
Antiguo 23/05/2011, 08:01
 
Fecha de Ingreso: noviembre-2002
Ubicación: Suecia
Mensajes: 253
Antigüedad: 17 años, 11 meses
Puntos: 2
Respuesta: Como tener mas control sobre los dialog box?

Bueno he encontrado la solucion:

Código Javascript:
Ver original
  1. $('.opener').each(function(){
  2.                 $.data(this, 'dialog',
  3.                     $(this).next('.dialog').dialog({
  4.                         autoOpen: false,
  5.                         draggable: true
  6.                     })
  7.                 );
  8.              }).click(function(){
  9.                  $.data(this, 'dialog').dialog('open');
  10.                  return false;
  11.              });

estoy utilizando dos clases, opener que es la que recibe el evento click y .dialog que es el dialog box.

Etiquetas: boxes, dialog, javascript, jquery
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 08:09.