我有一个表,在不同的列中包含许多对文本输入字段。我想迭代第一列中的输入字段,并使用这些值来设置相邻列中相应输入字段的值。
<table>
<tr>
<td><input type="text" class="left" /></td>
<td><input type="text" class="right" /></td>
</tr>
<tr>
<td><input type="text" class="left" /></td>
<td><input type="text" class="right" /></td>
</tr>
...
</table>
我刚刚开始学习jQuery,所以答案很明显。到目前为止我只有
$("input.left").each(function() {
// use the value of $(this) to set the
// value of the text field to the .right
})
答案 0 :(得分:6)
您想要做的事情被称为“拉链”操作。这在函数式编程语言中可以看到很多东西。它是一个将两个相等长度的序列组合成一个包含一对(或n元组)元素的序列的函数。
在这里,您可以找到jquery的'zip'实现。这是一个jQuery插件。 Available on Google Code
看起来你可以像使用它一样使用它:
$.zip($("input.left"), $("input.right")).each(function () {
var left = this[0];
var right = this[1];
})
答案 1 :(得分:2)
有很多方法可以做到这一点。这是一个。
$("tr").each(function() {
$(this).find(":last-child input").val($(this).find(":first-child input").val());
});
或其他:
$("input.left").each(function() {
$(this).parent().nextSibling().find("input.right").val(this.value);
});
等等。