Jquery實現動態新增table以及JSON陣列的解析
阿新 • • 發佈:2018-12-30
昨天寫一個作業的時候,因為一個錯誤浪費了我兩個多小時,為了以後不再同一個地方摔倒,果斷記錄下來。程式碼片先粘過來
$(".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()真的很麻煩。