从html表中的特定列获取值

时间:2012-10-01 16:28:57

标签: java javascript jquery html

我有一个控制器设置,视图包含一个包含一些信息的表。当在jsp页面上按下提交按钮时,我想从表中的第二列获取信息,以便我可以在控制器中处理该信息。表中的行可以在2到100之间变化,因此我正在寻找能够从第2列获取值的内容,而不管行数。我想从td类urltext中提取信息。我做了我的研究,但我无法找到任何与此相关的信息,所以任何想法都将受到高度赞赏。感谢。

<table name="urlTable" id="urlList"  style="width:100%; overflow: scroll;">
<tr>
    <th>Select</th>
    <th>URL</th>
</tr>
<c:forEach var="urlList" items="${command.urlList}">
<tr>
    <td><input type="checkbox" name="chk"/></td>
    <td class="urlText"><input class="urlValue" type="text" value="${urlList}" style="font-size: 13px; border: none;" size="85px;" readonly="readonly"/></td>
</tr>
</c:forEach>
</table>                                

2 个答案:

答案 0 :(得分:0)

让我们开始使用我们应该使用的theadtbody元素。

<table name="urlTable" id="urlList"  style="width:100%; overflow: scroll;">

    <thead>
        <tr>
            <th>Select</th>
            <th>URL</th>
        </tr>
    </thead>
    <tbody>
        <c:forEach var="urlList" items="${command.urlList}">
        <tr>
            <td><input type="checkbox" name="chk"/></td>
            <td class="urlText"><input class="urlValue" type="text" value="${urlList}" style="font-size: 13px; border: none;" size="85px;" readonly="readonly"/></td>
        </tr>
        </c:forEach>
    </tbody>

</table> 

然后只定位tbody中每行的第二列。我假设您定位的是input

var inputs = $("#urlList > tbody > tr > td:nth-child(2) > input");

此时我不知道您要对输入做什么。如果需要值的数组,请执行此操作。

var vals = inputs.map(function() { 
                         return this.value; 
                      }).toArray();

答案 1 :(得分:0)

你可以试试这个:

var values = [];
$('#urlList .urlvalue').each(function(){
    var val = $(this).val();
    values.push(val);
});

数组值包含表中的所有输入值。