html表格行" id"字段onclick javascript获取值不起作用

时间:2017-06-29 05:07:28

标签: javascript jquery html

在我的HTML中我有:

 <div align="center">
        <div class="wrapper">

            <div class="table">

                <div class="row header">
                    <div class="cell">Select No</div>
                    <div class="cell">Id</div>
                    <div class="cell">Name</div>


                </div>
                <c:forEach var="student" items="${studentList}" varStatus="status">

                    <div class="row">
                        <div class="cell">${status.index + 1}</div>
                        <%-- <div class="cell">${student.u_id}</div> --%>

                        <div class="cell">
                            <a href="edit?id=${student.u_id}" onclick="return getData(this);">${student.u_id}</a>
                        </div>

                        <div class="cell">${student.name}</div>


                    </div>
                </c:forEach>

            </div>
        </div>
    </div>

我的javascript代码是:

function getData(element) {
        var ID = $(element).attr("u_id");

        var inputs=document.getElementsByTagName('input');
        var tds=o.getElementsByTagName('td');

        for(a in tds){
            inputs[a].value=tds[a].innerHTML;
        }


        console.log(ID);

        return false;
    }

我的要求:

这里我将学生列表数据显示到html表中。 我想点击 id 字段后会调用javascript并在控制台中获取id的值。但我在控制台中获得 undefiend 值。 我做错了什么?

4 个答案:

答案 0 :(得分:0)

ID选择器应该是唯一的,但在您的情况下,您将相同的ID分配给循环内的多个元素是错误的。请改用Class选择器。

答案 1 :(得分:0)

HTML代码中没有u_id属性,只有您在EL表达式${....u_id}中使用的值。

这些属性将被HTML中的实际值替换(如预期),因此如果您需要通过javascript检索它们,则必须将它们分配给另一个HTML属性,或者在{{1}中传递它们调用。

使用当前的HTML代码,您可以从onclick标记的内容中读取值,但添加属性将是一种更清晰的方法。

答案 2 :(得分:0)

试试这个。 var inputs = document.getElementsByTagName(&#39; input&#39;)。value;

答案 3 :(得分:0)

在你的

<a href="edit?id=${student.u_id}" onclick="return getData(this);">${student.u_id}</a>

您没有u_id属性,而是将其更改为

<a href="edit?id=${student.u_id}" onclick="return getData(this);" u_id="{student.u_id}">${student.u_id}</a>