我有一些动态创建的表单,并且有一个通用的提交按钮,单击该按钮后,我需要循环遍历所有表单并获取一个特定元素的值,并需要获取总和。我在下面给出了一些示例代码,问题是,代码执行了 4 次,但我期望循环应该执行 2 次。这段代码有什么问题?
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script>
$("document").ready(function() {
$('form').each(function(index) {
$('form > select').each(function(selindex) {
alert(index + ":"+ selindex + ': ' + $(this).text());
});
});
});
</script>
</head>
<body>
<form name="form[1]">
<input type="text">
<select name="select[1]">
<option value="1">One 1</option>
<option value="2">Two 1</option>
</select>
</form>
<form name="form[2]">
<select name="select[2]">
<option value="1">One 2</option>
<option value="2">Two 2</option>
</select>
</form>
</body>
</html>
最佳答案
删除外部循环 - 您的内部选择器足以从文档中的所有表单获取数据:
$('form > select').each(function(selindex) {
alert(index + ":"+ selindex + ': ' + $(this).text());
});
关于jQuery 循环多种形式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7875731/