Javascript 输入上的keyup事件在页面加载时触发
我有 及 我正在使用带有mvc包装器的KendoUI网格,不确定是否相关,但下面是代码Javascript 输入上的keyup事件在页面加载时触发,javascript,jquery,kendo-ui,Javascript,Jquery,Kendo Ui,我有 及 我正在使用带有mvc包装器的KendoUI网格,不确定是否相关,但下面是代码 function doTheSearch() { alert(""); var grid = $("#Grid").data("kendoGrid"); grid.dataSource.read(); }; @(Html.Kendo().Grid()) .名称(“网格”) .列(列=> { columns.Bound(p=>p.BrukerID); columns.Bound(p=>p.navn); })
function doTheSearch() {
alert("");
var grid = $("#Grid").data("kendoGrid");
grid.dataSource.read();
};
@(Html.Kendo().Grid())
.名称(“网格”)
.列(列=>
{
columns.Bound(p=>p.BrukerID);
columns.Bound(p=>p.navn);
})
.DataSource(DataSource=>DataSource
.Ajax()//指定数据源为Ajax类型
.ServerOperation(错误)
.Read(Read=>Read.Action(“Users\u Read”,“User”)
.数据(“搜索数据”)
)
.页面大小(20)
)
.Pageable()
)
问题是当页面加载时,会触发函数doTheSearch()。这应该是因为我尝试仅在用户输入文本或按下按钮时激活代码。尝试以下操作:
@(Html.Kendo().Grid<E4.Administrasjon.Models.viewModels.vmUser>()
.Name("Grid")
.Columns(columns =>
{
columns.Bound(p => p.BrukerID);
columns.Bound(p => p.navn);
})
.DataSource(dataSource => dataSource
.Ajax() // Specify that the data source is of ajax type
.ServerOperation(false)
.Read(read => read.Action("Users_Read", "User")
.Data("searchData")
)
.PageSize(20)
)
.Pageable()
)
您正在对函数进行开票,但未将其绑定到事件,这:
$("#btnSearch").on('click', function () {
doTheSearch();
});
$("#search").on('keyup', doTheSearch);
function doTheSearch() {
alert("x");
}
$("#search").keyup(doTheSearch());
应该是:
$("#btnSearch").on('click', function () {
doTheSearch();
});
$("#search").on('keyup', doTheSearch);
function doTheSearch() {
alert("x");
}
$("#search").keyup(doTheSearch());
$("#search").keyup(doTheSearch);