Javascript jQuery从json数据添加类
这是一个包含座位信息的json文件Javascript jQuery从json数据添加类,javascript,jquery,json,class,object,Javascript,Jquery,Json,Class,Object,这是一个包含座位信息的json文件 var jsondata = { "who": "RSNO", "what": "An American Festival", "when": "2013-02-08 19:30", "where": "User Hall - Main Auditorium", "seats": ["00000000000000000011111111111111000000000000000000", "000000000000000
var jsondata = {
"who": "RSNO",
"what": "An American Festival",
"when": "2013-02-08 19:30",
"where": "User Hall - Main Auditorium",
"seats": ["00000000000000000011111111111111000000000000000000", "0000000000000001111111111111111aaa0000000000000000", "00000000000000aa111111111111111aaaaa00000000000000", "00000000000001111111111111111111111111000000000000", "000000000aa00aaaaaaaaaaaaaaaaaaaaaa1100aa000000000", "00000001111001111111111111111111111100111100000000", "00000aaaaaa0011aaaaaaaaa11111111aaa1100aaaaaa00000", "00001111111001111111111111111111111100111111100000", "000aaaaaaa110011111111111111111111110011aaaaaaa000", "00111111111100111111111111111111111001111111111000", "00aaaaa1111110011111111111111111111001111aaaaaaa00", "11111111111100111111111111111111111001111111111110", "0aaaaaaaaaaaa001111111111111111111100aaaaaaaaaaaa0", "01111111111110011111111111111111110011111111111100", "00000000000000001111111111111111110000000000000000", "01111111111111001111111111111111100111111111111100", "01111111111111001111111111111111110011111111111110", "01111111111111001111111111111111100111111111111100", "00a11111111111100111111111111111100111111111111a00", "00111111111111100111111111111111001111111111111000", "00011111111111110011111111111111001111111111111000", "00111111111111100111111111111111001111111111111000", "00011111111111110011111111111111001111111111111000", "00011111111111110011111111111110011111111111110000", "0000000111a111111001111a1111a110011111111110000000", "00000000111111110011111111111110011111111000000000", "00000000001111111001111111111110011111110000000000", "00000000000000111001111111111100111000000000000000"],
"rows": ["DD", "CC", "BB", "AA", "Z", "Y", "X", "W", "V", "U", "T", "S", "R", "Q", "P", "N", "M", "L", "K", "J", "H", "G", "F", "E", "D", "C", "B", "A"],
"seatPrice": [" 00000000000000 ", " 0000000000000000000 ", " 0000000000000000000000 ", " 0000000000000000000000000 ", " 00 000000000000000000000000 00 ", " 0000 00000000000000000000000 0000 ", " 000000 000000000000000000000000 000000 ", " 0000000 00000000000000000000000 0000000 ", " 000000000 0000000000000000000000 000000000 ", " 0000000000 000000000000000000000 0000000000 ", " 00000000000 00000000000000000000 00000000000 ", "000000000000 000000000000000000000 000000000000 ", " 000000000000 00000000000000000000 000000000000 ", " 000000000000 0000000000000000000 000000000000 ", " 000000000000000000 ", " 0000000000000 00000000000000000 0000000000000 ", " 0000000000000 000000000000000000 0000000000000 ", " 0000000000000 00000000000000000 0000000000000 ", " 0000000000000 0000000000000000 0000000000000 ", " 0000000000000 000000000000000 0000000000000 ", " 0000000000000 00000000000000 0000000000000 ", " 0000000000000 000000000000000 0000000000000 ", " 0000000000000 00000000000000 0000000000000 ", " 0000000000000 0011111111100 0000000000000 ", " 0000000000 111111111111 0000000000 ", " 00000000 1111111111111 00000000 ", " 0000000 111111111111 0000000 ", " 000 00000000000 000 "],
"priceLookup": [10, 20]
};
$.getJSON('jsondata' , function(data) {
var tbl_body = "";
$.each(jsondata.seats, function() {
var tbl_row = "";
$.each(this, function(k , v) {
tbl_row += "<td>"+v+"</td>";
});
tbl_body += "<tr>"+tbl_row+"</tr>";
});
$("#plan").html(tbl_body);
});
var jsondata={
“世卫组织”:“RSNO”,
“什么”:“美国节日”,
“时间”:“2013-02-08 19:30”,
“其中”:“用户大厅-主礼堂”,
“议席”:[“0000000000000000001111111111111100000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111aaaaaA00000000000000000000000000000000000000000000000001111111111111111111111111100000000000000000000000000000000000000000000000000000000000000000000001aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1100aa0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,“00000AAAAAAAA0011AAAAAAAAA11111111AAA1100AAAAAA00000”、“00001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110011AAAAAAA000”、“0011111111111111111111111111000”、“00AAAAA111111111111111111111111111111111111111111111111111111111111111100”、“1111111111111111111111111111111111111111111111111111111111110”等0aaaaaaaaaaaaaaaa001111111111111111111111100aaaaaaaaaaaaaa0、“011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100”、“01111111111111111111111111111111110”、“011111111111111111111111111111111111111111111111111111111111111111111111100”、“01111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100”、“01111111111111111111111111111111111111111111111111111111111100A111111111111111111111111111111111111111111111111111001111111111111111111111111111111111111111111111111111111111111111111000、0011111111111111111111111111111111111111000、0011111111111111111111111111111000、0001111111111111111111111111111111111000、000111111111111111111111111111111111111111111111111111111000、000111111111111111111111111111111111111111111111111111111111111111111111000、0001111111111111111111111111111111111111111111111111111111111111111111111111110000000000 111A111111111111111111111111111111111111111110000000”,“00000000 111111111111111111111111111111111111111111100000000”,“0000000000 111111111111111111111111111111100000000”,“00000000000000 1110011111111111111111100000000000”],
“行”:[“DD”、“CC”、“BB”、“AA”、“Z”、“Y”、“X”、“W”、“V”、“U”、“T”、“S”、“R”、“Q”、“P”、“N”、“M”、“L”、“K”、“J”、“H”、“G”、“F”、“E”、“D”、“C”、“B”、“A”],
“seatPrice”:[“00000000000000”、“00000000000000”、“0000000000000000”、“00000000000000000000”、“00000000000000000000”、“00000000000000000000”、“0000 0000000000000000000000” 000000 000000000000000000000000 000000 ", " 0000000 00000000000000000000000 0000000 ", " 000000000 0000000000000000000000 000000000 ", " 0000000000 000000000000000000000 0000000000 ", " 00000000000 00000000000000000000 00000000000 ", "000000000000 000000000000000000000 000000000000 ", " 000000000000 00000000000000000000 000000000000 ", " 000000000000 0000000000000000000 000000000000 ", " 000000000000000000 ", " 0000000000000 00000000000000000 0000000000000 ", " 0000000000000 000000000000000000 0000000000000 ", " 0000000000000 00000000000000000 0000000000000 ", " 0000000000000 0000000000000000 0000000000000 ", " 0000000000000 000000000000000 0000000000000 ", " 0000000000000 00000000000000 0000000000000 ", " 0000000000000 000000000000000 0000000000000 ", " 0000000000000 00000000000000 0000000000000 ", " 0000000000000 0011111111100 0000000000000 ", " 0000000000 111111111111 0000000000 ", " 00000000 1111111111111 00000000 ", " 0000000 111111111111 0000000 ", " 000 00000000000 000 "],
“价格查询”:[10,20]
};
$.getJSON('jsondata',函数(数据){
var tbl_body=“”;
$.each(jsondata.seats,function(){
var tbl_row=“”;
$。每个(此,函数(k,v){
tbl_行+=“+v+”;
});
tbl_正文+=“”+tbl_行+“”;
});
$(“#计划”).html(待定正文);
});
最后的函数在使用座椅布局方面工作得很好,但是,我需要将
seatPrice
中保存的信息添加为从函数生成的td
类。我基本上尝试了复制上一个函数,但没有复制seatPrice
对象,并将其附加到表中,但这并不成功我要开始工作了。有什么建议吗?看起来您在使用$。每个()循环都会使问题复杂化。正如Popleak所说,您可以使用香草for循环
像这样的事情是你想要的吗
$.getJSON('jsondata' , function(data) {
var tbl_body = "";
var tbl_row = "";
for (var i in data.seats){
tbl_row += "<td>"+i+"</td>";
}
for (var i in data.seatPrice){
tbl_row += '<td class="' + i + '">this is a td</td>';
}
tbl_body += "<tr>"+tbl_row+"</tr>";
$("#plan").html(tbl_body);
});
$.getJSON('jsondata',函数(数据){
var tbl_body=“”;
var tbl_row=“”;
用于(数据座位中的var i){
tbl_行+=“+i+”;
}
for(data.seatPrice中的变量i){
tbl_行+='这是一个td';
}
tbl_正文+=“”+tbl_行+“”;
$(“#计划”).html(待定正文);
});
您的代码在开始时有一些问题。为什么需要$.getJSON()
如果您在jsondata
中已经有了数据?如果您确实是从AJAX调用中获取此数据,这很好,但是您需要在函数中引用数据,而不是jsondata
,或者将参数重命名为匿名函数
传递给$的函数中的第一个参数。each()
是数组的索引。您可以使用该参数获取同一索引的seatPrice
:
$.each(jsondata.seats, function (j, d) {
var tbl_row = "";
$.each(this, function (k, v) {
var seatPrice = jsondata.seatPrice[j][k];
var seatPriceClass = '';
if(seatPrice == "0") {
seatPriceClass = "notawesome";
} else if(seatPrice == "1") {
seatPriceClass = "awesome";
} else {
seatPriceClass = "none";
}
tbl_row += "<td class='"+seatPriceClass+"'>" + v + "</td>";
});
tbl_body += "<tr>" + tbl_row + "</tr>";
});
$。每个(jsondata.seats,函数(j,d){
var tbl_row=“”;
$。每个(此,函数(k,v){
var seatPrice=jsondata.seatPrice[j][k];
var seatPriceClass='';
如果(座位价格=“0”){
seatPriceClass=“notawesome”;
}否则,如果(座位价格=“1”){
seatPriceClass=“真棒”;
}否则{
seatPriceClass=“无”;
}
tbl_行+=“+v+”;
});
tbl_正文+=“”+tbl_行+“”;
});
演示:如果我对你的要求是正确的,你需要使用两个独立但长度相等的数组。使用普通方法for(I in jsondata.seats)
并使用jsondata.seats[I]
和