1. 程式人生 > >Jquery實現動態新增table以及JSON陣列的解析

Jquery實現動態新增table以及JSON陣列的解析

昨天寫一個作業的時候,因為一個錯誤浪費了我兩個多小時,為了以後不再同一個地方摔倒,果斷記錄下來。程式碼片先粘過來

$(".borrow").click(function(){
       var text2="";
       var text1="";
       var text = "<tr style='font-size: 16px;font-weight: 200;'><td>圖書編號</td><td>圖書名稱</td><td>借出時間</td><td>截止時間</td></tr>"
; $("#showbk").css("display","inline");//引號裡面不能有空格 $(".tr1").empty(); $.post("fun5.do",{cardid:$(this).next().val()}, function(result){ var jsobject = JSON.parse(result); // $("#table1").prepend(text); for (var i = 0; i < jsobject.length; i++) { if
(jsobject[i].state==1) { $("#table1").append("<tr class='danger tr1' ><td>"+jsobject[i].bookid+"</td><td>"+jsobject[i].bookName+"</td><td>"+jsobject[i].startDate+"</td><td>"+jsobject[i].endDate+"</td></tr>"); }else
{ $("#table1").append("<tr class='tr1'><td>"+jsobject[i].bookid+"</td><td>"+jsobject[i].bookName+"</td><td>"+jsobject[i].startDate+"</td><td>"+jsobject[i].endDate+"</td></tr>"); } } }); });
  • for迴圈裡面不能宣告變數

這個低階的錯誤,我竟然沒有意識到,害我alert(1) 一個一個驗證哪裡出現問題

  • 在使用jquery新增css樣式的時候,一定要記住一點,“ ” 引號中間不能有空格。

千萬記住,有一個空格就會不能執行,控制檯還不會報錯告訴你哪裡有問題,這就比較麻煩了。
-例如:

$("#showbk").css(" display","inline");

因為display前面有空格,所以就不能執行。

  • 動態新增div
$("#table1").append("<tr class='danger tr1' ><td>"+jsobject[i].bookid+"</td><td>"+jsobject[i].bookName+"</td><td>"+jsobject[i].startDate+"</td><td>"+jsobject[i].endDate+"</td></tr>");

這裡的意思就是在id=“table1” 裡面結束標籤前新增。

  • JSON陣列解析
 var jsobject = JSON.parse(result);//JSON陣列轉化為物件陣列
         //迴圈獲取jsobject 裡的值
         for (var i = 0; i < jsobject.length; i++) {

             if(jsobject[i].state==1)
                {//動態新增<tr></tr>
                $("#table1").append("<tr class='danger tr1' ><td>"+jsobject[i].bookid+"</td><td>"+jsobject[i].bookName+"</td><td>"+jsobject[i].startDate+"</td><td>"+jsobject[i].endDate+"</td></tr>");

                }else{
                    $("#table1").append("<tr class='tr1'><td>"+jsobject[i].bookid+"</td><td>"+jsobject[i].bookName+"</td><td>"+jsobject[i].startDate+"</td><td>"+jsobject[i].endDate+"</td></tr>");
                }    
        }   

最後附上上述程式碼接受到的JSON資料,供大家學習參考,如果有哪裡說的不對的地方,請大家指點。

[{"bookName":"java程式設計","bookid":1011,"cardid":2017001,"endDate":1518710400000,"id":5,"startDate":1516032000000,"state":0},
{"bookName":"Html開發","bookid":1012,"cardid":2017001,"endDate":1518710400000,"id":6,"startDate":1516032000000,"state":0},
{"bookName":"java程式設計","bookid":1011,"cardid":2017001,"endDate":1518710400000,"id":7,"startDate":1516032000000,"state":1},
{"bookName":"Html開發","bookid":1012,"cardid":2017001,"endDate":1518710400000,"id":8,"startDate":1516032000000,"state":1},
{"bookName":"Html開發","bookid":1012,"cardid":2017001,"endDate":1518710400000,"id":9,"startDate":1516032000000,"state":0}]

另:有沒有什麼好辦法能夠驗證jquery 或者js語法錯誤,一個一個 alert()真的很麻煩。