我在我的应用程序中使用jQuery UI对话框。 如何在jquery对话框中以不同的方式设置“保存”和“取消”按钮? 所以“保存”比“取消”更有吸引力。 我可以使用“取消”的超链接,但是如何将它放在同一个按钮面板中?jquery对话框保存取消按钮样式
回答
这里是如何在jQuery用户界面对话框(版本1.8+)添加自定义类:
$('#foo').dialog({
'buttons' : {
'cancel' : {
priority: 'secondary', class: 'foo bar baz', click: function() {
...
},
},
}
});
不幸的是,看起来他们已经将此修补程序的里程碑更改为1.9。 – 2010-03-26 17:39:02
类作品,类没有。他们只是将你放入该对象的属性附加到dom中。 – benstraw 2011-08-10 22:48:29
我看了UI对话框生成的HTML。它呈现如下的按钮窗格:
<div class="ui-dialog-buttonpane ui-widget-content ui-helper-clearfix">
<button type="button" class="ui-state-default ui-corner-all">Delete all items in recycle bin</button>
<button type="button" class="ui-state-default ui-corner-all different" style="border: 1px solid blue;">Cancel</button>
</div>
向取消按钮添加一个类应该很容易。 ('。ui-dialog-buttonpane:last-child')。css('background-color','#ccc');
这将使取消按钮变成灰色。不管你喜欢,你都可以设计这个按钮。
上面的代码假定取消按钮是最后一个按钮。傻瓜证明的方式做这将是
$('.ui-dialog-buttonpane :button')
.each(
function()
{
if($(this).text() == 'Cancel')
{
//Do your styling with 'this' object.
}
}
);
看着some other threads后,我想出了这个解决方案将图标添加到按钮的确认对话框,这似乎在1.8.1版本很好地工作,并且可以进行修改,以做其他造型:
$("#confirmBox").dialog({
modal:true,
autoOpen:false,
buttons: {
"Save": function() { ... },
"Cancel": function() { ... }
}
});
var buttons = $('.ui-dialog-buttonpane').children('button');
buttons.removeClass('ui-button-text-only').addClass('ui-button-text-icon');
$(buttons[0]).append("<span class='ui-icon ui-icon-check'></span>");
$(buttons[1]).append("<span class='ui-icon ui-icon-close'></span>");
我很感兴趣,那么有一个更好的w ^唉,这样做,但这似乎很有效。
该函数将为您的每个按钮添加一个类对话框。然后,您可以风格(或使用jQuery选择)为正常:
$('.ui-dialog-buttonpane :button').each(function() {
$(this).addClass($(this).text().replace(/\s/g,''));
});
退房jQuery UI的1.8.5它是可用在这里 http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.5/jquery-ui.js 和它有对话框UI实现新的按钮
这些解决方案所有的非常好,如果你只需要在页面一个对话框在任何一个时间,但是如果你想一次多样式对话框,然后尝试:
$("#element").dialog({
buttons: {
'Save': function() {},
'Cancel': function() {}
}
})
.dialog("widget")
.find(".ui-dialog-buttonpane button")
.eq(0).addClass("btnSave").end()
.eq(1).addClass("btnCancel").end();
而不是全球选择按钮,这得到次e widget对象并找到它的按钮窗格,然后单独设置每个按钮的样式。这节省了很多的痛苦,当你在一个页面上有几个对话框
在jQueryUI 1.8.9使用className
而不是classes
的作品。
$('#element').dialog({
buttons:{
"send":{
text:'Send',
className:'save'
},
"cancel":{
text:'Cancel',
className:'cancel'
}
});
截至jquery ui版本1.8.16以下是我如何得到它的工作。
$('#element').dialog({
buttons: {
"Save": {
text: 'Save',
class: 'btn primary',
click: function() {
// do stuff
}
}
});
我正在使用jQuery UI 1.8。13和下面的配置工作,因为我需要:
var buttonsConfig = [
{
text: "Ok",
"class": "ok",
click: function() {
}
},
{
text: "Annulla",
"class": "cancel",
click: function() {
}
}
];
$("#foo").dialog({
buttons: buttonsConfig
// ...
PS:记得包装“类”加上引号,因为它是在JS的保留字!
发布此问题已经有一段时间了,但以下代码适用于所有浏览器(请注意,虽然MattPII
的答案在FFox和Chrome中可用,但会在IE中引发脚本错误)。
$('#foo').dialog({
autoOpen: true,
buttons: [
{
text: 'OK',
open: function() { $(this).addClass('b') }, //will append a class called 'b' to the created 'OK' button.
click: function() { alert('OK Clicked')}
},
{
text: "Cancel",
click: function() { alert('Cancel Clicked')}
}
]
});
我不得不使用jQuery UI的22年8月1日下面的结构:
var buttons = $('.ui-dialog-buttonset').children('button');
buttons.removeClass().addClass('button');
这将删除所有的格式,并根据需要适用更换造型。
适用于大多数主流浏览器。
我有JQuery UI 1.8.11版本,这是我的工作代码。您还可以根据您的要求定制其高度和宽度。
$("#divMain").dialog({
modal:true,
autoOpen: false,
maxWidth: 500,
maxHeight: 300,
width: 500,
height: 300,
title: "Customize Dialog",
buttons: {
"SAVE": function() {
//Add your functionalities here
},
"Cancel": function() {
$(this).dialog("close");
}
},
close: function() {}
});
- 1. 样式化jQuery UI对话框按钮
- 2. jQuery UI:对话框按钮样式
- 3. 在Magnolia对话框中没有显示保存/取消对话框按钮
- 4. android:对话框,取消按钮
- 5. Android:警报对话框,取消按钮
- 6. 样式对话框按钮只有一个jQuery对话框的几个页面
- 7. 模仿jQuery UI的对话框按钮样式
- 8. 查找是否保存或取消按钮被点击打印对话框
- 9. 如果点击保存文件对话框上的取消按钮,怎么做?
- 10. 按下对话框(确定,取消)按钮获取事件(Android)
- 11. Android对话框,按下按钮时保持对话框打开
- 12. AlertDialog中性按钮消除对话框
- 13. jqgrid子网格编辑对话框'提交'和'取消'按钮消失形式
- 14. jquery对话框 - 哪个按钮打开对话框?
- 15. jQuery UI的对话框按钮改变
- 16. 在jQuery对话框中更改按钮
- 17. ASP:按钮不jquery的对话框
- 18. jQuery对话框按钮定位
- 19. 添加类到jquery对话框按钮
- 20. jQuery UI对话框和按钮刷新
- 21. 添加href到JQuery对话框按钮
- 22. jQuery对话框动态添加按钮
- 23. 为jQuery UI的对话框按钮
- 24. Jquery对话框 - 按钮'即时呈现'
- 25. jQuery的自定义对话框按钮
- 26. 更改jquery对话框按钮
- 27. 设置jQuery UI对话框按钮ID?
- 28. jQuery UI对话框按钮定位
- 29. jQuery UI的对话框按钮
- 30. 分配id给jquery对话框按钮
您是否正在谈论一个典型的Javascript对话框(就像您从alert()中获得的那种)?因为那些不能被称呼。你最好的选择是为jQuery使用某种模式覆盖(我不能推荐一个,因为我从来没有使用过)。 – inkedmn 2009-07-16 15:28:33
正如后文中提到的,他正在使用jQuery UI对话框。 – SolutionYogi 2009-07-16 15:42:05
然后,简单地看一下jQuery添加到页面中的元素以及基于该元素的样式(或者阅读文档,这无疑涵盖了这个 - http://jqueryui.com/demos/dialog/#theming) – inkedmn 2009-07-16 15:45:37