添加规则时更新searchGrid的选项

时间:2014-12-08 08:55:12

标签: javascript jquery asp.net search jqgrid

我遇到了问题:我想在我的searchGrid框中添加规则时更新我的​​选择选项。

以下是上下文:

我有一个带有动态多列模型的网格。对于每列,我正确设置了搜索选项。我在网格中添加了一个搜索按钮,打开一个包含multipleSearch的新搜索框:true。我正在使用ASP.NET MVC 3 / JavaScript / Jqgrid 4.4.1

问题:我想让一个字段只能搜索一次。所以我正在寻找如何在高级搜索中触发buildSelect。

AfterRedraw功能不是我想要的,因为我们只能在它们构建后处理它们。

第一次:

<select>
<option selected="selected" value="Data.0">AGENCY_CODE</option>
<option value="Data.1">Data1</option>
<option value="Data.2">Data2</option>
<option value="Data.3">Data3</option>
</select>

当我点击我想要的添加规则时:

<select>
<option selected="selected" value="Data.1">Data1</option>
<option value="Data.2">Data2</option>
<option value="Data.3">Data3</option>
</select>

有什么想法吗?

问题解决了!这有点棘手(对我来说真的太丑了......)

var searchSelect = function(select) {
    if (select.length == 1) {
        return select;
    }

    var tmpSelect = [];
    for (var i = 1; i < select.length; i ++) {
        for (var j = 0; j < select[i].options.length; j++) {
            if (select[i].options[j].value == select[0].options[select[0].selectedIndex].value) {
                select[i].options[j].remove();
            }
        }
        tmpSelect.push(select[i]);
    }

    tmpSelect = searchSelect(tmpSelect);
    for (i = 0; i < tmpSelect.length; i++) {
        for (j = 0; j < select[0].options.length; j++) {
            if (select[0].options[j].value == tmpSelect[i].options[tmpSelect[i].selectedIndex].value) {
                select[0].options[j].remove();
            }
        }
    }

    return select;
}

searchSelect($(this).find("table.group td.columns>select"));

0 个答案:

没有答案