我有一个带有删除按钮的动态表,每行有几个输入元素。每行都有一个ID。当我按下删除按钮时,我使用jQuery删除该行,然后更新ID。喜欢这个
function deleteRow(row) {
var num = $("#table>tbody>tr").length;
if (num > 1) {
$(row).closest("tr").remove();
}
updateIds();
}
function updateIds() {
var counter = 0;
var num = $("#myTable>tbody>tr").length;
$("#myTable>tbody>tr").each(function(){
$("input",this).each(function(){
var currentId = $(this).attr("id");
var newId = currentId.substring(0,currentId.indexOf(('_'))+1);
$(this).attr("id",newId+counter);
var currentPath = $(this).attr("name");
var front = currentPath.substring(0,currentPath.indexOf('[')+1);
var back = currentPath.substring(currentPath.indexOf(']'));
$(this).attr("name",front+counter+back);
})
counter++;
})
}
这在FF和Chrome中运行良好,但在IE 7中我运行这两个功能后有一些trubble。当我专注于tr中的输入元素时,光标会向上跳一行。它就像它试图在刚被删除的tr上的fucus一样。
任何人都有任何想法
答案 0 :(得分:0)
好吧,你可以用以下方式手动设置焦点:
$(element).focus();
使用您想要焦点的行/单元格的索引获取元素。这有帮助吗?