2012-05-28 10 views
12

Estoy tratando de agregar una clase adicional a mi cuadro de diálogo de jQuery con la propiedad dialogClass. Aquí está la javascript:Problemas al agregar una clase al diálogo de jquery ui

$(function(){ 
    $("#toogleMAmaximized").dialog({ 
      title: 'Missions and Achivments', 
      autoOpen: false, 
      height: 500, 
      width: 700, 
      modal: true, 
      dialogClass: 'noPadding', 
      buttons: { 
        Cancel: function() { 
          $(this).dialog("close"); 
        } 
      }, 
      close: function() { 
        allFields.val("").removeClass("ui-state-error"); 
      } 

    }) 
    $("#toogleMAminimized").click(function() { 
      $("#toogleMAmaximized").dialog("open"); 
      $("#toogleMAmaximized").dialog({dialogClass:'noPadding'}); 
    }); 
}) 

<div id="toogleMAminimized" style="" class="noPadding"> 
<div class="" style="cursor: pointer;position: absolute;right: 0;top: 45px;"><img src ="images/MAminimized.png" alt="missions and achivments"/></div> 
</div> 

Sólo en caso de que lo necesite, mi código html

<div id="toogleMAmaximized" > 
<div id="missions"> 
    <div id="mission1" missiontitle="A new home!" missionpoint="1" missionicon="images/missions/icon/anewhome-icon.png" missionimage="images/missions/anewhome.png" made="f" class="mission notDone"> </div> 
</div> 
<div id="achivments"> 
    <div id="achivment1" achivmenttitle="Lucha sin cuartel!" achivmentpoint="10" achivmenticon="images/achivments/icon/1.png" achivmentimage="images/achivments/icon/luchasincuartel-plata-ico.png" made="t" class="achivment done"> </div> 
</div> 
</div> 

Como se puede ver, he intentado añadir la clase de muchas maneras, lo he intentado todo combinaciones posibles pero siguen obteniendo el mismo resultado: no noPadding clase

+0

'dialogClass' [funciona para mí] (http://jsfiddle.net/QHJKm/). Tu código [también funciona para mí] (http://jsfiddle.net/QHJKm/1/). – Sampson

+0

¿qué versión de 'jQuery UI'? estoy usando 'jQuery UI 1.8.16'. Solo lo vi usado 1.8.18 déjame ver eso. Ty! –

+0

[Funciona] (http://jsfiddle.net/QHJKm/3/) con 1.8.16 también. – Sampson

Respuesta

10

Su clase noPadding se está agregando satisfactoriamente al diálogo. Lo he confirmado colocando su marcado y scripts dentro de un violín y cargando jQuery UI 1.8.16 (la versión con la que estaba probando). Esta prueba está disponible en línea en http://jsfiddle.net/QHJKm/3/.

Sospecho que la confusión aquí es con el efecto esperado noPadding va a tener en el diálogo mismo. Podría ser que usted interpretó su falta de efecto como una indicación de que no se agregó para comenzar. Como notarás en mi ejemplo, tengo un estilo bastante audaz, un fondo rojo. Esto confirma rápidamente que la clase se está agregando al diálogo.

+0

estoy muy confundido aquí, ¿cómo puedo depurar esto? la única forma en que obtengo la clase 'noPadding' es hardcording it en el divs' toogleMAmaximized'. ¿Podría tener un 1.8.16 roto? Estoy descargando una nueva versión ahora. –

+0

¡Oh !, ahora entiendo lo que dices! ¡no se agrega a 'toogleMAmaximized' como esperaría sino al elemento div anterior creado! (el que tiene la propiedad rol = dialog para cualquiera que no esté familiarizado con él). Ok, entonces lo único que queda por hacer es agregar la clase al div real, justo después del diálogo ("abrir"), ¡gracias! –

Cuestiones relacionadas