2013-04-27 7 views
2

Kendo UI Grid 我在网格上附加了更改事件,但每当它单击一行时都会发出两次警报。Kendo Grid更改事件触发问题(当我单击一行时触发两次)

function onChange(arg) { 
    var selected = $.map(this.select(), function (item) { 
     return $(item).text(); 
    }); 
    alert(selected.join(", ")); 
} 

电网码

@(Html.Kendo().Grid<ETender.Mvc.Models.Region>() 
       .Name("country") 
        .Columns(columns => 
        { 
         columns.Bound(r => r.ID); 
         columns.Bound(r => r.CNAME); 
         columns.Bound(r => r.ENAME); 
        }) 
        .Sortable() 
        //.Scrollable(scrollable => scrollable.Virtual(false).Height(500)) 
        .Selectable() 
        .Pageable() 
        .Reorderable(reorder => reorder.Columns(true)) 
        .Resizable(resize => resize.Columns(true)) 
        .DataSource(dataSource => dataSource 
         .Ajax() 
         .ServerOperation(true) 
         .Events(ev => ev.Error("loadError")) 
         .Model(m => 
         { 
          m.Id(p => p.ID); 
          m.Field(p => p.ID).Editable(false); 
         }) 
         .Read(read => read.Action("GetRegionList", "Region") 
          .Data("function() { return {   CountryID:'0',ProvinceID:'0',CityID:'0',RegionType: 'Country'}; }") 
          ) 
        ) 
        .Events(events => events.Change("onChange")) 

       ) 

谁有解决方案。

回答

2

基本上这种行为是由于调试的目的使用“alert”方法引起的 - 请注意这不被推荐,因为它可能导致与聚焦元素交互时的意外行为。在替换“警告”方法和“调试器”命令或“console.log()”函数后,更改事件将按预期工作。

+2

对不起弗拉德...事件仍然与console.log()两次触发。 window.alert()与它无关。 – BillRuhl 2015-04-01 17:38:48