当前位置:编程学习 > JAVA >>

jquery 表格的增加删除和修改及设置奇偶行颜色

最近一周在学了一点点HTML, CSS, javascript,用javascript的jquery完成了一个简单的表格操作,有增加、删除和修改功能。

表格分三列,第一列是学生编号(ID号),第二列是学生姓名,第三列为学生年龄。在姓名和年龄框内输入数据,再点“Add”就可以增加数据(ID号会自动递增的生成),输入ID号再输入新的姓名和年龄点“Edit”就可以修改,删除的话输入ID号就点“Delete”就可以删除指定行。

表格最上面会及时更新当前表中行数,在输入ID时也会动态响应并更新姓名年龄输入框的内容。使程序达到了基本的可操作性。表格的表头用CSS作了颜色控制,表格中的内容也用CSS按奇偶行设置了不同的颜色。从而使界面变的更加美观。

下面是截图:

\
 

完整的代码如下(Win7+IE9测试通过):

//by MoreWindows (http://www.zzzyk.com) 
<html> 
<head> 
<script src="jquery-1.7.min.js"></script> 
<script> 
$(document).ready(function() 

    SetTableRowColor(); 
    UpdataTableRowCount(); 
     
    if ($.browser.msie) //判断是不是MS的ie浏览器 
    { 
        $("#id").bind("propertychange", function(){IDInputChange();}); 
    } 
    else 
    { 
        document.getElementById("#id").addEventListener("input", IDInputChange, false); 
    } 
}); 
</script> 
<script> 
//根据ID输入框的值取表格中对应内容并填充到姓名年龄的输入框中 
function IDInputChange() 

    //根据id查找到指定行 
    var i=SearchIdInTable($("#Table tr"), $("#id").val()); 
    if (i != -1) 
    { 
        //得到该行的数据 
        var name = $("#Table tr:eq(" + i + ") td:eq(1)").html(); 
        var age = $("#Table tr:eq(" + i + ") td:eq(2)").html();  
 
        //将数据更新到对应的文本框中 
        $("#Name").val(name); 
        $("#Age").val(age); 
    } 
    else 
    { 
        $("#Name").val(""); 
        $("#Age").val("");       
    } 

//在表格的第一列中查找等于指定ID的行 
function SearchIdInTable(tablerow, findid) 

    var i; 
    var tablerowtablerownum=tablerow.length; 
    for (i=1; i<tablerownum; i++) 
        if ($("#Table tr:eq(" + i + ") td:eq(0)").html() == findid) 
            return i; 
    return -1; 

//用CSS控制奇偶行的颜色 
function SetTableRowColor() 

 
    $("#Table tr:odd").css("background-color", "#e6e6fa"); 
    $("#Table tr:even").css("background-color", "#fff0fa"); 

//更新表格当前显示的行数 
function UpdataTableRowCount() 

    $("#tableRowCount").html($("#Table tr").length - 1); 

function IncTableRowCount() 

    var tc = $("#tableRowCount"); 
    tc.html(parseInt(tc.html()) + 1); 

function DecTableRowCount() 

    var tc = $("#tableRowCount"); 
    tc.html(parseInt(tc.html()) - 1); 

</script> 
<script> 
$(document).ready(function() 

  //增加 
  $("#AddBtn").click(function()  
  { 
    var id=parseInt($("#Table tr:last td:first").html()) + 1; 
 
    var name = $("#Name").val() != "" ? $("#Name").val() : " "; 
    var age  = $("#Age").val() != "" ? $("#Age").val() : " "; 
     
    //新增加一行 
    var appendstr = "<tr>"; 
    appendstr += "<td>" + id + "</td>"; 
    appendstr += "<td>" + name + "</td>"; 
    appendstr += "<td>" + age + "</td>"; 
    appendstr += "</tr>"; 
    $("#Table").append(appendstr); 
     
    IncTableRowCount(); 
    SetTableRowColor(); 
  }); 
  //编辑 
  $("#EditBtn").click(function()  
  { 
    //根据id查找到指定行 
    var i=SearchIdInTable($("#Table tr"), $("#id").val()); 
    if (i != -1) 
    { 
        //得到新内容 
        var name = $("#Name").val() != "" ? $("#Name").val() : " "; 
        var age  = $("#Age").val() != "" ? $("#Age").val() : " "; 
         
        //修改该行的二列数据 
        $("#Table tr:eq(" + i + ") td:eq(1)").html(name); 
        $("#Table tr:eq(" + i + ") td:eq(2)").html(age); //parseInt(age)也可以 
    } 
  }); 
  //删除 
  $("#DeleteBtn").click(function() 
  { 
    //根据id查找到指定行 
    var i=SearchIdInTable($("#Table tr"), $("#id").val()); 
    if (i != -1) 
    {    
        //删除表格中该行 
        $("#Table tr:eq(" + i + ")").slideUp("slow"); 
        $(&qu

补充:web前端 , JavaScript ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,