Javascript .filter jquery错误
我遇到了一个问题,下面是javascript/jqueryJavascript .filter jquery错误,javascript,jquery,Javascript,Jquery,我遇到了一个问题,下面是javascript/jquery getTextForDisplay: function() { var displayText = "Select..."; var options = this.dataSource._data; var selectedOptions = $.filter(options, function(index){ return t
getTextForDisplay: function() {
var displayText = "Select...";
var options = this.dataSource._data;
var selectedOptions = $.filter(options, function(index){
return this.selected;
});
if (selectedOptions.length == 1) {
displayText = "length1";
}
else if (selectedOptions.length > 1) {
displayText = "Multiple...";
}
return displayText;
}
});
这是关于有复选框的多选下拉框,选项变量是一个从viewmodel中提取数据的可观察数组,所以我想做的是,如果只选中一个复选框,则显示“length1”,如果选中多个复选框,则显示“Multiple…”,这看起来很简单,但在运行它时,我一直会出错。错误是c.replace不是函数,错误在jquery.min.js文件中。如果我从.filter中删除索引,它仍然不起作用,但也不会出错。没有
$.filter()
,除非您自己编写或使用插件
正确的语法是
options.filter(function (index) {
...
});
以下是文档:没有
$.filter()
,除非您自己编写或使用插件
正确的语法是
options.filter(function (index) {
...
});
文档如下:jQuery没有定义
jQuery.filter()
函数(至少没有)。它确实定义了jQuery
集合的方法
也许这就是你要找的
var selectedOptions = $.grep(options, function (option, index) {
return option.selected;
});
jQuery没有定义
jQuery.filter()
函数(至少没有)。它确实定义了jQuery
集合的方法
也许这就是你要找的
var selectedOptions = $.grep(options, function (option, index) {
return option.selected;
});
您没有正确使用
jQuery.filter
方法,但是,有一个文档化的方法可以满足您的需要。您应该使用文档化的方法,而不是未文档化的方法
$.grep(options, function(){
return this.selected;
});
要使其正常工作,
options
必须是类似数组的结构。您没有正确使用jQuery.filter
方法,但是,有一个文档化的方法可以满足您的需要。您应该使用文档化的方法,而不是未文档化的方法
$.grep(options, function(){
return this.selected;
});
要使其正常工作,
选项必须是一个类似数组的结构。为什么你认为.filter
接受两个参数?第一,避免使用if-elseif:)@eicto:有什么正当的理由吗?@zerkms是的,代码读得更好,你有没有在fold-if-elseif中看到ifelseif十次?最好使用'if(){return;}@zerkms$.filter
方法最多可以接受3个参数。为什么你认为.filter
可以接受2个参数?首先,避免使用if-elseif:)@eicto:有什么正当的理由吗?@zerkms是的,代码读得更好,你有没有看到ifelseif和folded-if-elseif十次?最好使用`if(){return;}@zerkms,$.filter
方法最多接受3个参数。jQuery确实有一个$.filter
方法,只是没有文档记录。打开控制台,运行typeof$.filter
@KevinB好的,很公平。但从源头上看,这显然不是OP想要的。它用于使用选择器字符串筛选jQuery对象。jQuery确实有一个$。filter
方法,只是没有文档记录。打开控制台,运行typeof$.filter
@KevinB好的,很公平。但从源头上看,这显然不是OP想要的。它是用来过滤带有选择器字符串的jQuery对象的。这对我来说很有效,但我没有使用它。我必须使用option.selected,这样我才能得到返回的数组元素。谢谢@上帝啊。很抱歉我认为它设置了函数的上下文。这对我来说很有效,但我没有使用This.selected,而是使用option.selected,这样我就可以得到返回的数组元素。谢谢@上帝啊。很抱歉我认为它设置了函数的上下文。