我有一些动态创建的表单,我有一个共同的提交按钮,在该点击,我需要遍历所有表单并获取一个特定元素的值,并需要得到总和。我在下面给出了一些示例代码,问题是,代码执行了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>
答案 0 :(得分:4)
删除外部循环 - 您的内部选择器足以从文档中的所有表单中获取数据:
$('form > select').each(function(selindex) {
alert(index + ":"+ selindex + ': ' + $(this).text());
});