jquery 表格的增加刪除和修改及設置奇偶行顏色

最近一周在學瞭一點點HTML, CSS, javascript,用javascript的jquery完成瞭一個簡單的表格操作,有增加、刪除和修改功能。

表格分三列,第一列是學生編號(ID號),第二列是學生姓名,第三列為學生年齡。在姓名和年齡框內輸入數據,再點“Add”就可以增加數據(ID號會自動遞增的生成),輸入ID號再輸入新的姓名和年齡點“Edit”就可以修改,刪除的話輸入ID號就點“Delete”就可以刪除指定行。

表格最上面會及時更新當前表中行數,在輸入ID時也會動態響應並更新姓名年齡輸入框的內容。使程序達到瞭基本的可操作性。表格的表頭用CSS作瞭顏色控制,表格中的內容也用CSS按奇偶行設置瞭不同的顏色。從而使界面變的更加美觀。

下面是截圖:


 

完整的代碼如下(Win7+IE9測試通過):

//by MoreWindows () 
<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"); 
        $("#Table tr:eq(" + i + ")").remove(); 
         
        DecTableRowCount(); 
        SetTableRowColor();  
    } 
  }); 
}); 
</script> 
</head> 
<body> 
<p>簡單的表格操作,有增加、刪除和修改功能。id輸入框能動態響應輸入</p> 
id:<input type="text" id="id" /> 
Name:<input type="text" id="Name" /> 
Age:<input type="text" id="Age" /> 
<input type="button" id="AddBtn" value="Add" /> 
<input type="button" id="EditBtn" value="Edit" /> 
<input type="button" id="DeleteBtn" value="Delete" /> 
<table id="Table" align="center" border="2" cellpadding="10" cellspacing="1" bordercolor="#FFAA00"> 
<caption style="font-size:15px">學生表<label id="tableRowCount"></label></caption> 
<th>id</th><th>Name</th><th>Age</th> 
<tr> <td>1</td> <td>MoreWindows</td>  <td>24</td> </tr> 
<tr> <td>2</td> <td>MW</td> <td>19</td> </tr> 
</table> 
</body> 
</html> 
<!– css控制表頭的背景顏色 css 雙重標簽 派生選擇器–> 
<style> 
#Table th 

  background-color:#7cfc00; 

//by MoreWindows (http://blog.csdn.net/MoreWindows)
<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 tablerownum=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");
  $("#Table tr:eq(" + i + ")").remove();
  
  DecTableRowCount();
  SetTableRowColor(); 
 }
  });
});
</script>
</head>
<body>
<p>簡單的表格操作,有增加、刪除和修改功能。id輸入框能動態響應輸入</p>
id:<input type="text" id="id" />
Name:<input type="text" id="Name" />
Age:<input type="text" id="Age" />
<input type="button" id="AddBtn" value="Add" />
<input type="button" id="EditBtn" value="Edit" />
<input type="button" id="DeleteBtn" value="Delete" />
<table id="Table" align="center" border="2" cellpadding="10" cellspacing="1" bordercolor="#FFAA00">
<caption style="font-size:15px">學生表<label id="tableRowCount"></label></caption>
<th>id</th><th>Name</th><th>Age</th>
<tr> <td>1</td> <td>MoreWindows</td>  <td>24</td> </tr>
<tr> <td>2</td> <td>MW</td> <td>19</td> </tr>
</table>
</body>
</html>
<!– css控制表頭的背景顏色 css 雙重標簽 派生選擇器–>
<style>
#Table th
{
  background-color:#7cfc00;
}
代碼中的jquery-1.7.min.js可以到jquery的官網上下載。

寫的很菜^_^,高手輕拍。

 

摘自 MoreWindows

發佈留言