剑道网格未在Firefox

时间:2017-11-01 21:42:44

标签: javascript jquery kendo-ui kendo-grid

我有一个kendo网格,可以在Internet Explorer(10和11)中正常工作。但是,它在firefox中根本没有加载(使用最新版本和一些以前的版本进行测试)。

在一个JavaScript文件中,让我们调用它fileA,我有一个ajax请求调用,然后我从另一个文件(fileB)调用一个函数来传入JSON来自我的请求的对象。

fileA

//the json object retrieved from my ajax call:
var obj = {name: "John Doe"};

//call to fileB
Test(obj);

fileB采用闭包的形式:

 var Test = (function() {
 var myfunction = function(obj){
   showGrid(obj);
 }

 function showGrid(obj){
  var datasource;

  if(obj != null){
    datasource = new kendo.data.DataSouce({
       data: obj,
       pageSize:10
    });
  } else{
     datasource = new kendo.data.DataSouce({
       data: [];
    });
  }

    $("#grid").kendoGrid({
        dataSource: datasource
        height: 850,
        groupable: false,
        sortable: true,
        pageable: {
          refresh: true,
          pageSizes: true,
          buttonCount: 15
        },
        columns: [{
           field: "name",
           title: "Name",
           width: 200
         }]
       });
     }

})();

我创造了这个小提琴:http://jsfiddle.net/savxdnt3/1/

我在哪里出错,如何在firefox中使用?任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

您的代码存在以下问题:

  • 您的代码中有很多拼写错误。 (kendo.data.DataSouce)缺少r;在data: [];
  • 的obsolet分号
  • 您提供了一个obj作为数据源,但是Kendo需要一个数组。

无论如何,这是一个简单的方法:

function showGrid(obj){
  var datasource;

  if(obj != null) {
    datasource = new kendo.data.DataSource({ // fixed spelling
       data: obj,
       pageSize:10
    });
  } else {
     datasource = new kendo.data.DataSource({ //fixed spelling
       data: [] //removed semi-colon
    });
  }

   $("#grid").kendoGrid({
     dataSource: datasource,
     height: 850,
     groupable: false,
     sortable: true,
     pageable: {
       refresh: true,
       pageSizes: true,
       buttonCount: 15
     },
     columns: [{
       field: "name",
       title: "Name",
       width: 200
     }]
   });
 }

 obj = [{name: "John Doe"}] // pass in array, not object;
showGrid(obj);

这是一个更新的小提琴,使用揭示模块模式:http://jsfiddle.net/savxdnt3/2/

这应该使事情更具可读性。将网格内容放在一个文件中,并在任何其他代码中将其用作Test(或重命名)