Jquery的Click事件没有做对剑道电网工程
问题描述:
我想写一个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事件不起作用。 请帮助我。
答
使用.on()
因为元素被添加动态。所以你必须使用Event Delegation你不能直接绑定到这些事件。
$(document).on('click','td > .k-grid-delete',function() { ..code here.. });
语法
$(elements).on(events, selector, data, handler);
答
由于kendo网格动态生成表格。你需要做的事件delegaton使用.on()
$(document.body).on('click','td > .k-grid-delete',function() {
var del = $(this).closest("tr").find(".ID");
delPassenger.push(del);
....................
})
凡document
或document.body
代表最近的父元素。
它无法正常工作。 – Rahul