我使用jquery的每个循环遍历表单中的所有输入文本字段。总共有4个输入字段。但我收到了以下错误
Cannot call method 'toLowerCase' of undefined in jquery.js:2153
这是我的代码
loadViews: function (view, flag) {
if( flag ) {
if ( View.validate() ) {
$('.search').animate({left: '-350px'}, 100, 'easeInOutQuad', function () {
container.empty().load(view + '.html');
});
} else {
}
} else {
container.empty().load(view + '.html');
}
},
validate: function () {
$.each('#form input[type="text"]', function (i) {
console.log($(this).val());
});
return false;
}
我做错了什么?
答案 0 :(得分:1)
当$.each
期待收藏时,您正在传递selector
。来自API文档:
$ .each()函数与$(selector).each()不同,即 用于独占迭代jQuery对象。 $ .each() 函数可用于迭代任何集合,无论它是否为 map(JavaScript对象)或数组。
要解决此问题,请执行以下操作:
$('#form input[type="text"]').each(function (i, elem) {
console.log($(this).val());
});
或者这个:
var inputs = $('#form input[type="text"]');
$.each(inputs, function (i, elem) {
console.log($(this).val());
});