我有一個問題,我正在重用對話框,所以我不想重複代碼。我遇到的問題是當我點擊一個「添加新的」按鈕,我有按鈕「保存」和「取消」。對話框中的保存按鈕可以保存信息。如果我點擊「編輯現有」按鈕來編輯我的信息,我希望「保存」按鈕變成「編輯」按鈕。這可能嗎?更改jquery對話框按鈕
回答
我認爲你要做的是,在運行時,根據用戶操作更改按鈕的文本。這個涉及Richard Worth的discussion可能會有所幫助,而這正是我爲了完成你所要做的事情而必須使用的。
基本上,通過將按鈕數組定義爲對象文本(在對話框定義中內聯),您所做的嘗試是不可能的。你應該做的是在對話框初始化之外定義你的按鈕數組;你的數組索引可以是你的標籤文本(就像你在消息討論的例子中看到的那樣)。然後,在初始化數組時,只需將buttons屬性分配給按鈕數組。
在僞代碼,你會做到這一點:
function createDialog(mode) { //mode=new for dayClick; edit for eventClick
var myButtons = {}; //initialize the object to hold my buttons
if (mode === "new") {
myButtons["Save"] = function() {...} //the function that does the save
} else {
myButtons["Edit"] = function() {...} //the function that edits
}
myButtons["Cancel"] = function() {...} //common cancel function for either new or edit mode
//other logic
$("#dialogAddEdit").dialog({
...
buttons: myButtons, //assign the buttons property to your myButtons array object
...
});
}
希望這有助於!
@ D Hoerster - 在Firebug中, – hersh 2010-08-17 12:34:08
你在哪裏定義模式?在我的例子中,它只是僞代碼 - 我假設你知道用戶正在採取什麼操作(不管它是一個cre吃或編輯動作)。基於此,您可以轉到代碼的相應部分來添加按鈕。對不起,如果不明確。您如何知道用戶是否嘗試創建新內容或編輯現有項目? – 2010-08-17 12:48:33
我正在使用fullcalendar彈出模式...所以在fullcalendar的dayClick這是一個回調,這將添加一個事件... on fullcalendar的eventClick,也是一個回調,這將編輯和事件。 – hersh 2010-08-17 13:04:01
還有另一個簡單的解決方案做到這一點:
只需創建對話框通常,給兩個(或更多)按鈕的「關鍵詞」(這裏「open_key」和「cancel_key」),然後,剛剛初始化後,使用一點jQuery技巧設置這些HTML元素的文本:contains()。
下面示例代碼(pp_loca是我的函數來獲取一個本地化的字符串,但pp_loca不能在「按鈕{...}」選項一起使用...
$("#dialog_open_from_server").dialog({
resizable: false,
height: "auto",
width: 600,
modal: true,
buttons: {
"open_key": function() {
$(this).dialog("close");
},
"cancel_key": function() {
$(this).dialog("close");
}
}
});
$('.ui-button:contains("open_key")').html(pp_loca('ITF_26'));
$('.ui-button:contains("cancel_key")').html(pp_loca('ITF_27'));
- 1. 在jQuery對話框中更改按鈕
- 2. jQuery UI的對話框按鈕改變
- 3. 更改我的jQuery的對話框按鈕文本時,對話框負載
- 4. jQuery對話框關閉按鈕位置更改
- 5. jQuery:對話框問題 - 初始化後更改按鈕
- 6. jquery對話框 - 哪個按鈕打開對話框?
- 7. ASP:按鈕不jquery的對話框
- 8. jQuery對話框按鈕定位
- 9. 添加類到jquery對話框按鈕
- 10. jQuery UI對話框和按鈕刷新
- 11. 樣式化jQuery UI對話框按鈕
- 12. 添加href到JQuery對話框按鈕
- 13. jQuery對話框動態添加按鈕
- 14. 爲jQuery UI的對話框按鈕
- 15. jQuery UI:對話框按鈕樣式
- 16. Jquery對話框 - 按鈕'即時呈現'
- 17. jQuery的自定義對話框按鈕
- 18. 設置jQuery UI對話框按鈕ID?
- 19. jQuery UI對話框按鈕定位
- 20. jQuery UI的對話框按鈕
- 21. 分配id給jquery對話框按鈕
- 22. jquery對話框:隱藏按鈕
- 23. 單選按鈕,多個對話框,jquery
- 24. jQuery對話框:備用關閉按鈕
- 25. 啓用JQuery的按鈕對話框
- 26. jQuery模態對話框按鈕文本
- 27. jQuery UI:按鈕打開對話框/按鈕不會改變狀態
- 28. jQuery UI對話框 - 更改打開對話框(Ajax)的內容
- 29. 如何在MessageBox.Show對話框中更改「是」和「否」按鈕的按鈕文本?
- 30. Tkinter - 顯示對話框的選項和更改密碼按鈕
很難說我會考慮插入正在編輯的記錄的主鍵 - 在編輯模式 - 然後讓服務器代碼處理該字段的缺失(或存在) – Wayne 2010-08-17 02:22:59