如何在JavaScript中获取Dynamic-table单元格值

时间:2016-09-15 20:47:48

标签: javascript html

这是我的一个jsp页面的表格。我想将列empId的选定值用于javascript方法。

<table class="table table-bordered">
    <thead>
        <tr>
            <th>Employee ID</th>
            <th>Employee Name</th>
            <th>Casual Leave Balance</th>
            <th>Annual Leave Balance</th>
            <th>Sick Leave Balance</th>
        </tr>
    </thead>
    <tbody>
        <c:forEach var="leavebalances" items="${LeaveAllBalanceList}">
            <tr>
                <td><dev class="correct" name="empId" onclick="selectempId(this)"> ${leavebalances.empId}</dev></td>
                <td>${leavebalances.empId}</td>
                <td>${leavebalances.casual}</td>
                <td>${leavebalances.annual}</td>
                <td>${leavebalances.sick}</td>
            </tr>
        </c:forEach>
    </tbody>                            
</table>

我的javascript代码段

function selectempId(emp){
    alert(emp);   
}

但它(onclick)不起作用。只有方法可以获取动态下拉列表的选定值。请告诉我怎么做。 谢谢。

3 个答案:

答案 0 :(得分:0)

&#13;
&#13;
<dev class="correct" name="empId" onclick="selectempId(this)"> ${leavebalances.empId}</dev>
&#13;
&#13;
&#13;

您不需要()

答案 1 :(得分:0)

您可以将值传递给javascript。但我不知道html中的dev标记。我认为这是div

<td><div class="correct" name="empId" onclick="selectempId(${leavebalances.empId})"> ${leavebalances.empId}</div></td>

或者您可以转到td的{​​{1}}行动。

onclick

答案 2 :(得分:0)

在这里,我的问题是无法将td的值传递给javascript函数,因为没有为所需的td标签(动态表)分配唯一的id。所以我给了动态ID。

<c:forEach var="leavebalances" items="${LeaveAllBalanceList}">
        <tr>
                <td id ="${leavebalances.empId}" class="correct" name="empId" onclick="selectEmpId(this.id)">${leavebalances.empId}</td>
                <td>${leavebalances.empId}</td>                 
                <td>${leavebalances.casual}</td>
                <td>${leavebalances.annual}</td>
                <td>${leavebalances.sick}</td>
        </tr>
</c:forEach>  

///////////////////// javascript function //////////////////////// ///////

function selectEmpId(val) {
        alert(val);        
}