0

カスタムコマンドを使用してウィンドウをポップアップしようとしています。

 $(document).ready(function(){
        var wnd, detailsTemplate;
        $("#grid").kendoGrid({
            dataSource:{
                serverPaging: true,
                transport: {
                    read: "<?php echo base_url() ?>index.php/user_management/manage_users/list_view/"
                },
                schema:{
                    data: "data",
                    total: "total"
                },
                pageSize:5
            },
            scrollable: true,
            selectable: true,
            sortable: true,
            filterable: true,
            pageable: {
                input: true,
                numeric: false
            },

            columns: [
                {
                    field: "UserID",
                    hidden:true
                },
                {
                    field: "Username",
                    title:"Username"
                },
                { field: "FirstName",
                    title:"First Name"
                },
                {field:"MiddleNames"},
                {field:"LastName"},
                {field:"City"},
                {field:"Email"},
                //{field:"Actions"},
                {command: { text: "Details", click: showDetailsPopup }, title: " ", width: "140px" }
            ]


        });
        wnd = $("#details")
                .kendoWindow({
                    title: "Customer Details",
                    modal: true,
                    visible: false,
                    resizable: false,
                    width: 300
                }).data("data");
        detailsTemplate = kendo.template($("#template").html());


    });

    function showDetailsPopup(e) {
        e.preventDefault();
        var dataItem = this.dataItem($(e.currentTarget).closest("tr"));
        wnd.content(detailsTemplate(dataItem));
        wnd.center().open();
    }

しかし、グリッドの[詳細]ボタンをクリックすると、firebugにこのエラーが表示されます。

ReferenceError: wnd is not defined
[Break On This Error]   

wnd.center().open();

更新:これが私のテンプレートです

<script type="text/x-kendo-template" id="template">
        <div id="details-container">
            <h2>#= FirstName #</h2>
        </div>
</script>
4

1 に答える 1

3

.data( "data")を修正してください。

wnd = $("#details")
            .kendoWindow({
                title: "Customer Details",
                modal: true,
                visible: false,
                resizable: false,
                width: 300
           ** }).data("data");**
    detailsTemplate = kendo.template($("#template").html());


});

以下のように.data( "kendoWindow")である必要があります。

wnd = $("#details")
            .kendoWindow({
                title: "Customer Details",
                modal: true,
                visible: false,
                resizable: false,
                width: 300
           }).data("kendoWindow");
    detailsTemplate = kendo.template($("#template").html());
});
于 2013-03-25T08:06:56.320 に答える