如何使用jQuery.each()从jsp中动态创建的文本框中读取数据

时间:2016-10-29 14:27:17

标签: jquery jsp servlets

我有在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'

            })
        });

1 个答案:

答案 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'

        })
    });