[英]KendoUI Window Dynamic Open
我想使用kendoui窗口來打開動態數量的窗口,理想情況下,如果該窗口已按名稱存在,它將顯示相同的窗口。
所以我在想象一個javascript函數
win(name, url, width)
我會從各個地方打電話給我
<button onclick="win('my window', '/example/view', 100);">click me</button>
我不太確定如何使用其名稱創建一個像這樣的窗口,以及如何檢查它是否已經存在。
該應用程序非常簡單,有一系列菜單,每個菜單都會打開一個窗口,但是菜單是從數據庫內容驅動的,因此我無法預定義所有窗口
在win
函數中,您應該檢查是否已經創建了KendoUI窗口。 如果是這樣,則可以重用現有的並打開它。 否則,您將創建它。
例:
function win (name, url, width) {
var my_win = $("#" + name).data("kendoWindow");
if (my_win) {
// already exist, reuse it
my_win.open();
} else {
// does not exist, create it
// create a div with id "name" for my window and append it to
// to a container ("example") where all the windows are going to be.
my_win = $("<div id='" + name + "'></div>").kendoWindow({
title: name,
content: url,
width: width,
appendTo: "#example",
visible: true
});
}
}
編輯:要從錨元素( a
)調用此屬性,請在頁面上全局定義win
並按以下方式定義錨。
<a href="javascript: win('id1', '/page1', 200);">Open id1 window</a>
<a href="javascript: win('id2', '/page2', 200);">Open id2 window</a>
此處的示例: http : //dojo.telerik.com/@OnaBai/ekIba/2
KendoUI窗口打開后,它將創建以<div class="k-widget k-window" data-role="......
開頭的HTML元素集。對於每個窗口,它將創建單獨的HTML集。
因此,您可以使用var kendoeWinElems = $('.k-window')
過濾所有這些窗口
然后循環查找標題區域(.k-window-title),並與窗口的名稱和標題進行比較,然后調用relaventWindow.data("kendoWindow").open();
為了便於比較和過濾,建議您添加按鈕和Kendo窗口所需的數據屬性或類。
希望有幫助!!!!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.