2012-05-28 62 views
12

我想用dialogClass屬性向jQuery對話框添加一個額外的類。這裏的JavaScript:向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> 

就在你需要它時,我的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> 

正如你所看到的,我已經試過要添加的類別在很多方面,我已經嘗試了所有可能的組合但不斷得到相同的結果:否noPadding

+0

'dialogClass' [適用於我](http://jsfiddle.net/QHJKm/)。你的代碼[也適用於我](http://jsfiddle.net/QHJKm/1/)。 – Sampson

+0

什麼版本的'jQuery UI'?我正在使用'jQuery UI 1.8.16'。只是看到它使用1.8.18讓我檢查。泰! –

+0

[It works](http://jsfiddle.net/QHJKm/3/)也是1.8.16。 – Sampson

回答

10

您的noPadding類正在成功添加到對話框。我已經通過將你的標記和腳本放在小提琴中並加載jQuery UI 1.8.16(你正在測試的版本)來證實這一點。該測試可在線獲取,網址爲http://jsfiddle.net/QHJKm/3/

我懷疑這裏的混淆與預期的效果noPadding將在對話框本身。這可能是因爲你認爲它缺乏效果,表明它沒有被添加到開始。正如你在我的例子中會注意到的,我有一個相當大膽的風格,一個紅色的背景。這很快確認了該課程確實正在被添加到對話中。

+0

在這裏我很困惑,我該如何進一步調試呢?我得到'noPadding'類的唯一方法就是在'toogleMAmaximized' div裏自己硬編碼。我可以破1.8.16嗎?我正在下載新版本。 –

+0

哦!現在我明白你在說什麼了!它不會像我期望的那樣添加到'toogleMAmaximized',而是添加到之前創建的div元素! (具有rol = dialog屬性的那個人對不熟悉它的人)。好的,所以剩下的唯一一件事就是在對話框(「打開」)後面添加類到真正的div,謝謝! –