我正在覆盖Telerik过滤器,它看起来像:
我改变它是这样的:
我在加载网格.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中,但没有成功。
非常感谢您的帮助。
答案 0 :(得分:0)
我最好的猜测是rules
仍然包含对要删除的元素的引用,以更改过滤器的外观。当您.remove()
过滤时,也要从rules
中删除该元素。