Kendo UI Window

在我们的工作中,经常需要做这样一个功能,什么呢?模态窗口!也叫弹出窗口,弹出框,下面让我们一起看下Kendo Ui的window(弹出窗口)是如何实现的。

首先了解一下Window的一些基本属性和事件以及方法

属性:

title:标题

content:内容

width:宽度

height:高度

visible:可见性

position:弹出窗位置

draggable:是否可以拖动

事件:

open:打开弹窗触发的事件

activate:弹窗打开之后触发的事件

deactivate:弹窗关闭结束后触发的事件

close:关闭弹窗时触发的事件

refresh:弹窗刷新是触发的事件

方法

dialog.title(); 设置标题

dialog.content('弹窗内容'); 设置弹窗内容

dialog.open(); 打开弹窗

dialog.close(); 关闭弹窗

dialog.destroy(); 销毁弹窗

了解完Window的基本信息后,可以实战了

window 的 content 中可以设置多种格式的内容:

1.直接指向一些html元素

2.可以指向一个页面

3.可以指像一个后台的方法

下面将详细介绍这三种方法

指向html元素
 

//存放弹窗的DIV

<div id='itemspackdiv'></div>

//创建window

$("#itemspackdiv").html("<div id='ItemsWindow'></div>");

var window = $("#ItemsWindow").kendoWindow({
    height: 370,
    width: 520,
    title: “编辑角色”,
    modal: true,
    deactivate: function () {
        this.destroy();
    },
    content: {
        template: $.trim($("#BaseData-template").html())
    }
}).data("kendoWindow");

window.open().center();

//window content内容

<script id="BaseData-template" type="text/kendo-ui-template">
    <div class="window-container">
        <form class="form-input" id="entityForm">
            <div class="spendingOnWater-public-center" style="overflow:hidden;min-width:440px;">
                <table class="n_table_center">
                    <tr>
                        <td>
                            <span><span class="prompt">*</span>@ResourcesLan.Role_Code:</span>
                        </td>
                        <td>
                            <input type="text" class="k-textbox" inputRequired="required" data-bind="value:ROLE_ID" onchange="inputRequiredTdChange(this)" />
                        </td>
                        <td><span class='k-widget k-tooltip k-tooltip-validation field-validation-error k-required' style="display:none"><span class="k-icon k-warning"></span>@ResourcesLan.option_Role_ID</span> </td>
                    </tr>
                    <tr>
                        <td>
                            <span><span class="prompt">*</span>@ResourcesLan.Role_Name:</span>
                        </td>
                        <td>
                            <input type="text" class="k-textbox" inputRequired="required" data-bind="value:ROLE_NAME" onchange="inputRequiredTdChange(this)" />
                        </td>
                        <td><span class='k-widget k-tooltip k-tooltip-validation field-validation-error k-required' style="display:none"><span class="k-icon k-warning"></span>@ResourcesLan.option_Role_Name</span> </td>
                    </tr>
                    <tr>
                        <td>
                            <span><span class="prompt"></span>@ResourcesLan.Describe:</span>
                        </td>
                        <td>
                            <input type="text" class="k-textbox" data-bind="value:ROLE_DESC" />
                        </td>
                    </tr>

                </table>
            </div>

            <p>
                <input type="button" class="widthnotcertainbutton right-button" value="@ResourcesLan.Save" data-bind="events:{click:saveRole}" />
                <input type="button" class="widthnotcertainbutton right-button" value="@ResourcesLan.Delete" data-bind="events:{click:deleteRole},visible:isShowDeleteButton" />

            </p>
        </form>
    </div>

</script>

//展示


指向页面

//存放window的DIV

<div id="itemspackdiv"></div>

//创建window

$("#itemspackdiv").html("<div id='ItemsWindow'></div>");
var dialog = $("#ItemsWindow").kendoWindow({
    width: "60%",
    height: "62%",
    title: "修改银行账户",
    content: "/CompanyManage/BankAccount/NewBankAccount",

//这是一个页面的路径
    visible: false,
    open: function () {
        $("#load").show();
    },
    refresh: function () {
        $("#load").hide();
    },
    actions: [
            "Minimize",
            "Maximize",
            "Close"
    ],
    deactivate: function () {
        this.destroy();
    },
    animation: false
}).data("kendoWindow");
dialog.open().center();


//window内容

NewBankAccount.cshtml

//展示

指向后台方法

//存放window的div

<div>itemspackdiv</div>

//创建window

var width = "80%", height = "80%", title, url;
title = '@ResourcesLan.Hotel_Reimbursement';
url = "/Biz/TravelExpenseApply/CreateByCtripOrders?ctripOrderNOList=" + settlecheckeddata;

//后台方法
$("#itemspackdiv").html("<div id='ticketRefresh' style='top:0px;'></div>");
var dialog = $("#ticketRefresh").kendoWindow({
    width: width,
    height: height,
    title: title,
    content: url,
    //cache: false,
    modal: true,
    open: function () {
        $("#load").show();
    },
    refresh: function () {
        $("#load").hide();
    },
    actions: [
            "Minimize",
            "Maximize",
            "Close"
    ],
    deactivate: function (e) {
        $("#HotelGrid").data('kendoGrid').dataSource.read();
        $("#HotelGrid").data("kendoGrid").refresh();
        $("#HotelGrid").data('kendoGrid').dataSource.page(1);
        this.destroy();
    },
    animation: false
}).data("kendoWindow");
dialog.open().center();


 

猜你喜欢

转载自blog.csdn.net/weixin_41392824/article/details/81540698