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

时间:2015-06-04 13:55:15

标签: javascript jquery asynchronous synchronous

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

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

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

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
    });

}

调用的“applySearch”函数如下所示(这可行):

{{1}}

0 个答案:

没有答案