我在我的應用程序中使用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. 在Magnolia對話框中沒有顯示保存/取消對話框按鈕
- 3. 保存和取消按鈕爲對話框
- 4. Android:警報對話框,取消按鈕
- 5. JavaFX警報對話框取消按鈕
- 6. android:對話框,取消按鈕
- 7. 樣式對話框按鈕只有一個jQuery對話框的幾個頁面
- 8. jquery對話框tabindex按鈕
- 9. 模仿jQuery UI的對話框按鈕樣式
- 10. jquery UI對話框取消按鈕作爲鏈接?
- 11. 跳過jquery對話框中的「onblur」取消和(x)按鈕
- 12. 如果點擊保存文件對話框上的取消按鈕,怎麼做?
- 13. 查找是否保存或取消按鈕被點擊打印對話框
- 14. 按下對話框(確定,取消)按鈕獲取事件(Android)
- 15. Android對話框,按下按鈕時保持對話框打開
- 16. 從按鈕獲取數據點擊AutoGenerated按鈕 - jQuery對話框
- 17. AlertDialog中性按鈕消除對話框
- 18. jqgrid子網格編輯對話框'提交'和'取消'按鈕消失形式
- 19. 在jQuery的對話框中標準按鈕就像對話框
- 20. 如何隱藏對話框加載的jQuery對話框按鈕?
- 21. jquery對話框 - 哪個按鈕打開對話框?
- 22. jQuery的對話框按鈕返回
- 23. 添加類到jquery對話框按鈕
- 24. jQuery UI對話框按鈕 - 返回true?
- 25. jquery ui對話框自定義按鈕
- 26. jQuery的用戶對話框按鈕
- 27. JQuery對話框不顯示按鈕
- 28. jQuery UI對話框按鈕定位
- 29. jQuery UI的對話框按鈕
- 30. 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