使用JSP为-Elements提供ID

时间:2014-12-30 13:27:48

标签: javascript jquery jsp html-table

我是Javascript / Jquery和JSP的新手。 我有一个使用JSP创建的<table>(2个for循环),使用Javascript我可以单击每个Cell.This打开一个新窗口(窗口由Bootstrap脚本打开),带有文本输入和DELETE并保存 - 按钮。

<thead>
        <tr>
        <%for(int i = 0; i <bsp.length;i++) { %>
            <%if(i==0){ %>
                <th></th>
            <%} %>
            <th><%out.println(bsp[i]); %></th>
        <%} %>
        </tr>
    </thead>
    <tbody>
        <%for(int ut = 0; u < test.length ;u++) { %>
            <tr>
                <td><%out.println(test[u]); %></td>
                <%for(int rest =0; rest<bsp.length;rest++) { %>
                <td id="ID00" class="td_test"></td>
                <%} %>
            </tr>
        <%} %>
    </tbody>

$(document).ready(function() { $("#save").click(function() { $(".td_test").append($("#input").val()); }); });

问题是,每个<td> - 元素都有相同的类,如果我改变一个Cell,它会改变整个Table。如果我使用ID-Selektor,它只适用于第一个Cell表

任何人都有一些想法我可以单独解决这个问题吗?

2 个答案:

答案 0 :(得分:0)

- &LT;%其余%&gt;“中&GT; 那么你将为每个td获得不同的类名,并且可以轻松地绑定事件

答案 1 :(得分:0)

正如评论中所讨论的,抓住其点击处理程序中的原始元素:

$(document).ready(function() {
    var currentlyOpenedTd; // name it something more sensible
    $(".td_test").click(function() {
         $("#bModal").modal('show');
         currentlyOpenedTd = this;
    });
    $("#save").click(function() {
         $(currentlyOpenedTd).text($("#input").val());
    });
});

撇开:还注意到我已将.append更改为.text,即使它们并非完全相同。修改以满足您的要求,但请记住始终清理用户输入的良好做法。