运行多个javascript函数时,只有前几个工作

我想在点击上运行一个运行多个其他javascript函数的函数。 它可以工作,但仅限于前几个被调用的函数。

更多细节:我正在尝试过滤网格。 “savedSearch”函数由一个按钮调用,然后按钮将根据您保存的搜索条件搜索多个字段(即过滤A列中的“星期一”,即模型中的列)。 每个“子function”(“appliedSearch”function)适用于不同的字段。 前几个通常工作(我尝试格式化这许多不同的方式)。 例如,它将过滤列A,B和C,但列D,E和F没有任何反应。

注意:“applySearch”是我试图调用的函数,“ColumnA”是我发送给函数的字段名,@ Html.Raw(Json.Encode(Model.ColumnA))是变量(即“Monday”)在上面的例子中)。

function savedSearch(e){ if (@Html.Raw(Json.Encode(Model.ColumnA)) != "0") { applySearch1("ColumnA", @Html.Raw(Json.Encode(Model.ColumnA))); } if (@Html.Raw(Json.Encode(Model.ColumnB)) != "0") { applySearch2("ColumnB", @Html.Raw(Json.Encode(Model.ColumnB))); } if (@Html.Raw(Json.Encode(Model.ColumnC)) != "0") { applySearch3("ColumnC", @Html.Raw(Json.Encode(Model.ColumnC))); } if (@Html.Raw(Json.Encode(Model.ColumnD)) != "0") { applySearch4("ColumnD", @Html.Raw(Json.Encode(Model.ColumnD))); } if (@Html.Raw(Json.Encode(Model.ColumnE)) != "0") { applySearch5("ColumnE", @Html.Raw(Json.Encode(Model.ColumnE))); } if (@Html.Raw(Json.Encode(Model.ColumnF)) != "0") { applySearch6("ColumnF", @Html.Raw(Json.Encode(Model.ColumnF))); } } } 

被调用的“applySearch”函数如下所示(这是有效的):

 function applySearch(filterField, filterValue) { var gridData = $("#grid").data("kendoGrid"); var currFilterObj = gridData.dataSource.filter(); var currentFilters = currFilterObj ? currFilterObj.filters : []; if (currentFilters && currentFilters.length > 0) { for (var i = 0; i < currentFilters.length; i++) { if (currentFilters[i].field == filterField) { currentFilters.splice(i, 1); break; } } } if (filterValue != "0" && filterValue != "") { currentFilters.push({ field: filterField, operator: "contains", value: filterValue }); } gridData.dataSource.filter({ logic: "and", filters: currentFilters }); }