2009-09-24 254 views
20

我想在jquery对话框的按钮上添加css类。添加类到jquery对话框按钮

这里是我的代码:

$(document).ready(function(){ 
     $('#messageBox p').html('bla bla bla. Ok?'); 
     $('#messageBox').dialog({ 
     modal : true, 
     buttons: { 
      'Yes': function() { 
      doSomething(); 
      $(this).dialog('close'); 
      }, 
      'No': function() { 
      doAnotherThing(); 
      $(this).dialog('close'); 
      } 
     } 
     }); 
    }); 

例如,我想加上我的‘是’按钮“.red”级。

我该怎么做?

谢谢!

回答

49
buttons: [ 
      { 
       text: "Submit", 
       "class": 'submit_class_name', 
       click: function() {      
        $(this).dialog("close"); 
       } 
      }, 
      { 
       text: "Cancel", 
       click: function() { 
        $(this).dialog("close"); 
       } 
      } 
      ] 
+2

这是最好的答案!注意:在类属性周围使用引号,在iPad上会引发错误(可能是因为类是保留(关键字)字) – VDP 2012-04-30 10:44:51

+0

在IE8中也有同样的错误。用'“class”'而不是'class'解决 – 2015-04-20 08:52:39

1

您是否试过addClass功能?

+0

但是,在补充一点addclass功能? – rahul 2009-09-24 13:45:20

+0

像phoenix一样的答案...我在哪里可以把addClass函数,因为按钮是由jQuery对话框和按钮没有ID的。 – nicosomb 2009-09-24 13:50:10

-4

.addClass功能  

+0

是啊,我知道这个功能......但我不知道如何在我的情况下使用它。 – nicosomb 2009-09-24 13:50:46

5

有可以用来指定CSS类的对话框本身对话框功能的dialogClass选项。您可以给它一个唯一的类名,并使用此类名来获取对该对话框的任何子元素的引用。然后,使用选择器按位置或按其包含的文本获取对子按钮的引用(可能会更有效地使用前者)。

7

我已经得到了解决,这要归功于丰富:

​​3210

解决了!

+1

保存我的一天! :)谢谢 – 2016-11-24 21:29:52

1

有同样的问题。非常类似于尼科的解决方案,但样式添加到打开的功能对话框上:

open: function() { 
       // add style to buttons (can't seem to do this via the button definition without breaking IE) 
       $(".someDialog .ui-dialog-buttonset button:first").not(".buttonPrimary").addClass("buttonPrimary"); 
       $(".someDialog .ui-dialog-buttonset button:last").not(".buttonSecondary").addClass("buttonSecondary"); 
       $("#someDialog").focus(); 
      } 
相关问题