1

我有

<input type="text" name="search" id="search" placeholder="Enter search text..." />
<input type="submit" id="btnSearch" name="find" value="" />

$(document).ready(function () {    

$("#btnSearch").click(function () {
    doTheSearch();
});

$("#search").keyup(doTheSearch());

});

function doTheSearch() {
alert("");
var grid = $("#Grid").data("kendoGrid");
grid.dataSource.read();
};

我正在使用带有 mvc 包装器的 KendoUI 网格,不确定是否相关但这里也是该代码

@(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()    
)

问题是当页面加载时函数 doTheSearch() 被触发。这应该是因为我尝试仅在用户输入文本或按下按钮时触发代码。

4

2 回答 2

1

试试这个:

$("#btnSearch").on('click', function () {
    doTheSearch();
});

$("#search").on('keyup', doTheSearch);


function doTheSearch() {
alert("x");
}
于 2012-08-14T06:47:33.947 回答
1

您正在调用该函数而不是将其绑定到事件,这是:

$("#search").keyup(doTheSearch());

应该 :

$("#search").keyup(doTheSearch);
于 2012-08-14T06:48:05.213 回答