我是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表
任何人都有一些想法我可以单独解决这个问题吗?
答案 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
,即使它们并非完全相同。修改以满足您的要求,但请记住始终清理用户输入的良好做法。