KendoUI Window 动态打开

KendoUI Window Dynamic Open

我想使用 kendoui window 打开 windows 的动态号码,理想情况下,如果 window 的名称已经存在,它只会显示相同的 [=26] =].

所以我在想象一个 javascript 函数

win(name, url, width)

我会从不同的地方调用它

<button onclick="win('my window', '/example/view', 100);">click me</button>

我不太确定如何使用名称创建这样的 window 以及如何检查它是否已经存在。

app很简单,菜单范围,每个菜单打开一个window,但是菜单是从数据库内容驱动的,所以我不能预定义所有的windows

一旦 KendoUI window 打开,它将创建一组 HTML 个以 <div class="k-widget k-window" data-role="...... 开头的元素。对于每个 window 它将创建单独的一组 HTMLs.

因此您可以使用 var kendoeWinElems = $('.k-window')

过滤所有 windows

然后循环挖掘标题区域 (.k-window-title) 并与 window 的名称和标题进行比较,然后调用 relaventWindow.data("kendoWindow").open();

为了便于比较和过滤,我建议您根据需要为按钮和 Kendo windows

添加数据属性或 类

希望能帮到你!!!

在您的 win 函数中,您应该检查您是否已经创建了 KendoUI window。如果是这样,您可以重复使用现有的并打开它。否则你创建它。

示例:

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