用DropDownList问题替换Telerik过滤器TextBox

时间:2012-12-13 09:59:56

标签: jquery telerik

我正在覆盖Telerik过滤器,它看起来像:

enter image description here

我改变它是这样的:

enter image description here

我在加载网格.OnLoad(“onListingLoad”)时在Telerik GRID中处理,如下所示:

        $(this).find("a.t-link:contains('State')").nextUntil().children(".t-filter").click(function () {
        setTimeout(function () {

            $(".t-filter-help-text:contains('And')").nextUntil(".t-button").andSelf().remove();

            $(".t-filter-operator").each(function () {
                $(this).val("substringof");
            });

            var select = "<select id='customFilter' data-val='false'> \
                            <option value=''>[Select State]</option> \
                            <option value='Approved'>Approved</option> \
                            <option value='Assigned'>Assigned</option> \
                            <option value='End State'>End State</option> \
                        </select>";
            $("#documentListing").find(":text").replaceWith(select);

        });
    });

当我在下拉列表中选择项目时,按下过滤器在jquery.validate.js中此JQUERY代码的最后一行发生错误:

normalizeRules: function(rules, element) {
                            // handle dependency check
                            $.each(rules, function(prop, val) {
                                            // ignore rule when param is explicitly false, eg. required:false
                                            if (val === false) {
                                                            delete rules[prop];
                                                            return;
                                            }
                                            if (val.param || val.depends) {

,错误是:

  

“Uncaught TypeError:无法读取未定义的属性'param'”

我努力从新的DropDownList中删除规则,或者在删除之前将其复制到TextBox中,但没有成功。

非常感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我最好的猜测是rules仍然包含对要删除的元素的引用,以更改过滤器的外观。当您.remove()过滤时,也要从rules中删除该元素。