Jquery 我如何摧毁一个';剑道牌里面有什么?

Jquery 我如何摧毁一个';剑道牌里面有什么?,jquery,kendo-grid,Jquery,Kendo Grid,选项卡: 标题 商业广告 在页面加载时,将创建网格: <div id="parentTabStrip"> <ul> <li class="k-state-active">Titles</li> <li>Commercials</li> </ul> <div id="

选项卡:


  • 标题
  • 商业广告
在页面加载时,将创建网格:

<div id="parentTabStrip">
            <ul>
                <li class="k-state-active">Titles</li>
                <li>Commercials</li>
            </ul>
            <div id="titlesGrid"></div>
            <div id="commercialsGrid"></div>
        </div>

var year=$(“#txtYear”).val();
createTitlesGrid(年);
createCommercialsGrid();
我试图在事件中销毁网格,但jquery选择器找不到我的网格:

    <script type="text/javascript">
        var year = $("#txtYear").val();
        createTitlesGrid(year);
        createCommercialsGrid();
    </script>

var year=$(“#txtYear”).val();
createTitlesGrid(年);
createCommercialsGrid();
$('#txtYear')。on('change',function()
{
调试器;
$('#titlesGrid').data(“kendoGrid”).destroy();
$('commercialsGrid').data(“kendoGrid”).destroy();
//var年=该值;
//createTitlesGrid(年);
//createCommercialsGrid();
});
它一直在说:


TypeError:无法调用null的方法“destroy”

考虑到您以正确的方式创建剑道网格,这应该可以工作:

<script type="text/javascript">
            var year = $("#txtYear").val();
            createTitlesGrid(year);
            createCommercialsGrid();

            $('#txtYear').on('change', function ()
            {
                debugger;

                $('#titlesGrid').data("kendoGrid").destroy();

                $('#commercialsGrid').data("kendoGrid").destroy();

                //var year = this.value;
                //createTitlesGrid(year);
                //createCommercialsGrid();
            });
        </script>
剑道ui的文档:

不幸的是,这不起作用。网格为空。这是因为jquery无法找到#titlesGrid.no luck。顺便说一下,如果我检查DOM,我看不到网格的DIV,尽管它是在选项卡下创建的。请尝试使用
“titlesGrid”
搜索它,而不是
“titlesGrid
”尝试搜索它。就像我之前说的,如果我看DOM,我看不出这很奇怪,你能创建一个小提琴吗?所以解决这个问题比较容易
<script type="text/javascript">
      $(document).ready(function() {
            var year = $("#txtYear").val();
            createTitlesGrid(year);
            createCommercialsGrid();

            $('#txtYear').on('change', function ()
            {
                debugger;

                $('#titlesGrid').data("kendoGrid").destroy();

                $('#commercialsGrid').data("kendoGrid").destroy();

                //var year = this.value;
                //createTitlesGrid(year);
                //createCommercialsGrid();
            });
       });
</script>
var grid = $('#titlesGrid').data("kendoGrid");
grid.destroy();
var kendoGrid = $("#grid").data("kendoGrid");
kendoGrid.destroy(); // Unhook from DOM
$("#grid").remove(); // Remove from DOM