我有在jsp中动态创建的文本框。然后,我想获取内部数据并使用jQuery.each()将其发送到servlet。问题是,它只需要顶级文本框数据,甚至不读取其余内容。有人可以指出问题。顺便说一句,英语不是我的母语。
动态创建文本框
<table>
<c:forEach items="${questList}" var="quest" varStatus="status">
<tr id="looping">
<td><c:out value="${status.index + 1}" ></c:out></td>
<td>${quest.questText}</td>
<td><textarea id="resp" rows="5" cols="40"></textarea></td>
<td><textarea id="qId" >${quest.questId}</textarea></td>
</tr>
</c:forEach>
</table>
和我的jQuery代码
$('#looping').each(function(i){
var res = $('#resp').val();
var qId = $('#qId').val();
$.ajax({
type:'POST',
data:{
res: res,
qId: qId,
},
url:'Response'
})
});
答案 0 :(得分:0)
您应该将代码更改为这样,因为在尝试通过使用ID选择器定位字段来获取数据时,只会从第一个字段返回数据。因此,将代码更改为:
('#looping').each(function(i){
var res = $(this).find('#resp').val();
var qId = $(this).find('#qId').val();
$.ajax({
type:'POST',
data:{
res: res,
qId: qId,
},
url:'Response'
})
});