2014-07-08 86 views
1

我有一个Kendo网格,我试图在选择一行后测试javascript函数调用。Kendo grid - 调用javascript函数时出错:“javascript运行时错误:'funcName'未定义”

<div id="datagrid"> 
    @(Html.Kendo().Grid(Model) 
     .Name("datagrid_Concessoes") 
     .Columns(columns => 
     { 
      columns.Bound(c => c.Id).Width(70); 
      columns.Bound(c => c.Code).Title("Código"); 
      columns.Bound(c => c.Description).Title("Descrição"); 
      columns.Bound(c => c.CreationDate).Title("Data de Criação"); 
      columns.Bound(c => c.CreationUser).Title("Criado por"); 
     }) 
     .HtmlAttributes(new { style = "height: 534px;" }) 
     .Scrollable() 
     .Sortable() 
     .Selectable() 
     .Events(e => e.Change("test")) 
     .Pageable(pageable => pageable 
      .Refresh(true) 
      .ButtonCount(5)) 
     .DataSource(dataSource => dataSource 
      .Ajax() 
      .PageSize(15) 
      .Read(read => read.Action("GetConcessoes", "MasterData")) 
     ) 
    ) 
</div> 

和JavaScript:

function test() { 
    alert("test"); 
} 

我得到一个javascript runtime error: 'test' is undefined只要电网即将被显示。我试过行:

.Events(e => e.Change("test")) 
.Events(e => e.Change("test()")) 

,但没有运气

+0

您正在使用哪个版本的kendo ui和jqeury? –

+0

你可以尝试在网格之前立即放置函数,看看会发生什么?它可能只是该功能尚未定义 –

+0

@ mo.esmp,''kendoUi'版本是最新的,'jquery'是1.7.1 – chiapa

回答

2

网格可能是负载立即烧成Change事件,如果您的Java脚本函数都在页面的底部限定他们可能不可用。

解决方法是将text()函数向上移动到此网格上方以确保其已定义。

1

这很奇怪,但根据telerik论坛(Grid row selection change event not firing)中的错误报告,它在jQuery版本1.7.2中正常工作。尝试版本1.7.2,看看它的工作与否。

+0

+1为更新的jQuery版本的链接和建议 – chiapa

相关问题