2013-11-21 15 views
0

我想写一个jQuery在销毁按钮,使它们存储在磁盘阵列:Jquery的Click事件没有做对剑道电网工程

对于我使用的剑道电网作为::

@(Html.Kendo().Grid(Model) 
       .Name("Passenger") 
         .TableHtmlAttributes(new { style = "height:20px; " }) 
          //.TableHtmlAttributes(new { style:"height:30px;"}) 
       .Columns(columns => 
       { 
        columns.Bound(p => p.ID).Hidden(true).ClientTemplate("#=ID#" + "<input type='hidden' class='ID' value='#=ID#' />"); 
        columns.Bound(p => p.PassengerName).Width(15).Title("Name").ClientTemplate("#=PassengerName#" + "<input type='hidden' class='PassengerName'' name='#=PassengerName#' value='#=PassengerName#' />"); 
        columns.Command(command => { command.Edit().Text(" "); command.Destroy().Text(" "); }).Width(15); 
       }) 

       .Editable(ed => ed.Mode(GridEditMode.PopUp).DisplayDeleteConfirmation(false).TemplateName("NewPerson").CreateAt(GridInsertRowPosition.Bottom)) 

       .Navigatable() 
       .Sortable() 
       .Scrollable(scr => scr.Height(200)) 
       .Scrollable() 
       .DataSource(dataSource => dataSource 
       .Ajax() 
       .Batch(true) 
       .ServerOperation(false) 
       .Events(events => events.Error("error_handler")) 
       .Model(model => model.Id(p => p.PassengerID)) 
       .Create("Passenger_Create", "Document") 
       .Read("Passenger_Read", "Document") 
       .Update("Passenger_Update", "Document") 
       .Destroy("Passenger_Destroy", "Document") 
       ) 
      ) 

我正在编写Click事件的Jquery代码::

var delPassenger = []; 
     $("td > .k-grid-delete").click(function() { 
      var del = $(this).closest("tr").find(".ID"); 
      delPassenger.push(del); 
      //for (var i = 0; i < del.length; i++) { 
      // $(".MainForm").append("<input type='hidden' name='delPassenger[" + i + "]' class='delPassenger' value='" + del[i].value + "' />"); 
      //} 
     }) 

但是,此Click事件不起作用。 请帮助我。

回答

0

使用.on()

因为元素被添加动态。所以你必须使用Event Delegation你不能直接绑定到这些事件。

$(document).on('click','td > .k-grid-delete',function() { ..code here.. }); 

语法

$(elements).on(events, selector, data, handler); 
0

由于kendo网格动态生成表格。你需要做的事件delegaton使用.on()

$(document.body).on('click','td > .k-grid-delete',function() { 
      var del = $(this).closest("tr").find(".ID"); 
      delPassenger.push(del); 
      .................... 
     }) 

documentdocument.body代表最近的父元素。

+0

它无法正常工作。 – Rahul