我有3个字段:
<input type="datetime" name="input-data" id="datetime-start">
<input type="datetime" name="input-data" id="datetime-end">
<input type="text" name="input-data" id="text-basic">我需要检查是否有输入的东西,所以我首先像jQuery.each('[name="input-data"]', function()一样做了,并在循环中使用了this,但得到一些错误。经过小调试后,我发现了一种类似jQuery.each(jQuery('[name="input-data"]'), function(key, value)的方法,但当我尝试执行console.log(value.val());时,我遇到了错误。因此,我决定看看value中有什么,并感到惊讶--只有一个字符串<input type="datetime" name="input-data" id="datetime-start">。那么如何循环遍历所有的输入值呢?
发布于 2013-03-15 16:10:49
在jQuery实例上使用each,例如:
jQuery('[name="input-data"]').each(function() {
// Here, `this` is the DOM element. If you want to use jQuery methods,
// wrap the element in a jQuery instance:
var input = jQuery(this);
// Now, input.val() will give you the value
});jQuery的API有时会让人感到困惑。这就是其中之一。jQuery有两个相似但不同的函数:您在jQuery实例上调用的each (见上)和jQuery.each,您可以使用它遍历数组、对象和类似数组的对象。
使用jQuery.each(jQuery('[name="input-data"]', function...的代码可以工作,因为jQuery实例类似于数组,但是在函数中没有包装DOM元素,这就是val()不能工作的原因。但以上是遍历一组匹配元素的正常方式。
发布于 2013-03-15 16:11:02
发布于 2013-03-15 16:11:41
$(document).ready(function(){
$('input').each(function(){
console.log($(this).val());
});
}
});https://stackoverflow.com/questions/15427462
复制相似问题