输入键后如何获取所有字段的文本框值。我只能获取第一个和最后一个文本框值。我无法获得中间的文本框值。
$("#GridView1 :text").live("keyup", recalculate);
function recalculate() {
$("#GridView1 tbody tr:first").each(function () {
var text = $(":text", this);
var First = Number.parseInvariant(text.first().val());
var Middle= Number.parseInvariant(text.first().next().val());
var Last= Number.parseInvariant(text.last().val());
});
}
尝试一下:
$('input[type="text"]').each(function(i){
console.log($(this).val());
});
您将获得所有文本框值。
我使用带文本框的表格制作了一个示例示例,因此您可以引用该代码段,可能对您有所帮助。
$('input[type="text"]').keyup(function() {
recalculate();
});
function recalculate() {
$("#GridView1").find("tr").each(function(e, element) {
var firstTextBox = $($(element).find('input[type="text"]')[0]).val();
var secondTextBox = $($(element).find('input[type="text"]')[1]).val();
var thirdTextBox = $($(element).find('input[type="text"]')[2]).val();
console.log("Grid Row : " + (e + 1) + " First TextBox Value : " + firstTextBox + " Second TextBox Value : " + secondTextBox + " Third TextBox Value : " + thirdTextBox);
});
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table id="GridView1" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td><input type="text" value=""></td>
<td><input type="text" value=""></td>
<td><input type="text" value=""></td>
</tr>
<tr>
<td><input type="text" value=""></td>
<td><input type="text" value=""></td>
<td><input type="text" value=""></td>
</tr>
<tr>
<td><input type="text" value=""></td>
<td><input type="text" value=""></td>
<td><input type="text" value=""></td>
</tr>
</tbody>
</table>