Table中删除Tr的JS实现

来源:互联网 发布:韩国在线直播软件 编辑:程序博客网 时间:2024/05/17 01:53
/**
 * 删除TR
 * @param size 大小
 * @param index 当前TR序号
 * @param btnPrefix 删除按钮名称前缀
 * @param inputPrefix 调整:input名称前缀
 */
function delTr(size,index,btnPrefix,inputPrefix){
    for(var i =size-1 ;i>index;i--){
        var j = i - 1;
        var $del = $("[name='"+btnPrefix+i+"]']:eq(0)");
        if(typeof($del)== "undefined"  ||$del == null || $del.length==0){
            $del = $("[name='"+btnPrefix+i+"']:eq(0)");
            $del.attr("name",btnPrefix+j);
        }else{
            $del.attr("name",btnPrefix+j+"]");
        }
        changeIndex(inputPrefix, i, j);//重新设置input的下标
    }
    //将flag属性重置
    $(":input[name^='"+inputPrefix+"']").each(function(){
        $(this).attr("flag","");//删除完之后重置
    });
}

/**
 * 改变input,select,textarea,button的下标
 * @param prefix input前缀
 * @param oldIndex 原下标
 * @param newIndex 新下标
 */
function changeIndex(prefix,oldIndex,newIndex){
    $(":input[name^='"+prefix+"["+oldIndex+"]']").each(function(){
        var flag = $(this).attr("flag");
        if(flag == "1"){
            return;
        }
        var name = $(this).attr("name");
        $(this).attr("name",name.replace(oldIndex,newIndex));
        $(this).attr("flag","1");// 每次改变后就不允许再次改变
    });
}

/**
 * 调整TR的顺序
 * @param table
 * @param tr 需要调整顺序的TR
 * @param index 调整的顺序
 */
function changeTrIndex(table,tr,index){
    if(index > 0){
        var row = $('tr:eq('+index+')',table);
        $(tr).insertAfter($(row).next());
    }
}
0 0
原创粉丝点击