在jquery中创建表行元素
我收到了服务器的响应。它是一个JSON对象。 我将使用这行代码创建表行在jquery中创建表行元素,jquery,Jquery,我收到了服务器的响应。它是一个JSON对象。 我将使用这行代码创建表行 for(var i=0;i<Object.keys(obj.items).length;i++){ str = str + "<tr><td>"+obj.items[i].C+"</td>"; if(obj.items[i].S == "App"){ str = str + "<td class='text-success'>";
for(var i=0;i<Object.keys(obj.items).length;i++){
str = str + "<tr><td>"+obj.items[i].C+"</td>";
if(obj.items[i].S == "App"){
str = str + "<td class='text-success'>";
}else
if(obj.items[i].S == "Rej"){
str = str + "<td class='text-danger'>";
}else
if(obj.items[i].S == "Dr"){
str = str + "<td class='text-warning'>";
}else
if(obj.items[i].Status == "Pending"){
str = str + "<td class='text-muted'>";
}
str = str + obj.items[i].S+"</td><td>"+obj.items[i].D+"</td><td>"+obj.items[i].M+"</td>";
if(obj.items[i].S == "App"){
str = str + "<td><button type='button' class='btn btn-default' disabled>Cancel</button> <button type='button' class='btn btn-default'>Print</button></td></tr>";
}else
if(obj.items[i].S == "Dr"){
str = str + "<td><button type='button' class='btn btn-default'>Edit</button><button type='button' class='btn btn-default'>Delete</button></td></tr>";
}else
if(obj.items[i].S == "Pending"){
str = str + "<td><button type='button' class='btn btn default'>Cancel</button></td></tr>";
}
}
这是最终的html示例
<tr>
<td>01</td>
<td class="text-danger">Rej</td>
<td>Jan 20</td>
<td></td>
<td></td>
</tr>
01
雷吉
1月20日
创建一个tdLayoutMap
,其中的键等于if-else语句中的条件,值等于要附加的html:
var obj={“items”:[{“C”:“01”,“S”:“Rej”,“D”:“Jan 20”,“M”:“}]};
obj2={“项目”:[{“C”:“02”,“S”:“App”,“D”:“Jan 21”,“M”:“Jan 22”}]};
obj3={“项目”:[{“C”:“03”,“S”:“Dr”,“D”:“Jan 23”,“M”:“}]};
obj4={“项目”:[{“C”:“04”,“S”:“待定”,“D”:“1月24日”,“M”:“}]};
tdLayoutMap={
“应用程序”:[“”,“取消打印”],
“Rej”:[“”],
“Dr.:[”,“EditDelete”],
“挂起”:[“”,“取消”],
}
对于(var i=0,str='';i创建一个tdLayoutMap
,其中的键等于if-else语句中的条件,值等于要附加的html:
var obj={“items”:[{“C”:“01”,“S”:“Rej”,“D”:“Jan 20”,“M”:“}]};
obj2={“项目”:[{“C”:“02”,“S”:“App”,“D”:“Jan 21”,“M”:“Jan 22”}]};
obj3={“项目”:[{“C”:“03”,“S”:“Dr”,“D”:“Jan 23”,“M”:“}]};
obj4={“项目”:[{“C”:“04”,“S”:“待定”,“D”:“1月24日”,“M”:“}]};
tdLayoutMap={
“应用程序”:[“”,“取消打印”],
“Rej”:[“”],
“Dr.:[”,“EditDelete”],
“挂起”:[“”,“取消”],
}
对于(var i=0,str='';i这是否有帮助:
<script type="text/javascript" src="https://code.jquery.com/jquery-2.2.0.min.js"></script>
<div id="showData"></div>
<script type="text/javascript">
var obj = [
{"C":"01","S":"Rej","D":"Jan 20","M":""},
{"C":"02","S":"App","D":"Jan 21","M":"Jan 22"},
{"C":"03","S":"Dr","D":"Jan 23","M":""},
{"C":"04","S":"Pending","D":"Jan 24","M":""}
];
var str = '';
$(obj).each(function(){
str += "<tr><td>"+this.C+"</td>";
if(this.S == "App"){
str += "<td class='text-success'>";
}else
if(this.S == "Rej"){
str += "<td class='text-danger'>";
}else
if(this.S == "Dr"){
str += "<td class='text-warning'>";
}else
if(this.Status == "Pending"){
str += "<td class='text-muted'>";
}
str += this.S+"</td><td>"+this.D+"</td><td>"+this.M+"</td>";
if(this.S == "App"){
str += "<td><button type='button' class='btn btn-default' disabled>Cancel</button> <button type='button' class='btn btn-default'>Print</button></td></tr>";
}else
if(this.S == "Dr"){
str += "<td><button type='button' class='btn btn-default'>Edit</button><button type='button' class='btn btn-default'>Delete</button></td></tr>";
}else
if(this.S == "Pending"){
str += "<td><button type='button' class='btn btn default'>Cancel</button></td></tr>";
}
})
$('#showData').html(str);
</script>
var obj=[
{“C”:“01”,“S”:“Rej”,“D”:“Jan 20”,“M”:“},
{“C”:“02”,“S”:“App”,“D”:“Jan 21”,“M”:“Jan 22”},
{“C”:“03”,“S”:“Dr”,“D”:“Jan 23”,“M”:“},
{“C”:“04”,“S”:“待定”,“D”:“1月24日”,“M”:“}
];
var-str='';
$(对象)。每个(函数(){
str+=“”+this.C+“”;
如果(this.S==“应用程序”){
str+=”;
}否则
if(this.S==“Rej”){
str+=”;
}否则
如果(this.S==“Dr”){
str+=”;
}否则
如果(this.Status==“待定”){
str+=”;
}
str+=this.S+“”+this.D+“”+this.M+“”;
如果(this.S==“应用程序”){
str+=“取消打印”;
}否则
如果(this.S==“Dr”){
str+=“编辑删除”;
}否则
如果(this.S==“待定”){
str+=“取消”;
}
})
$('#showData').html(str);
obj作为对象数组更容易处理,并且可以使用变量“this”来表示循环中的每个对象
另外,您正在为每个单独的对象覆盖obj变量。我想您的意思是添加每个对象,而不是每次都覆盖?这是否有帮助:
<script type="text/javascript" src="https://code.jquery.com/jquery-2.2.0.min.js"></script>
<div id="showData"></div>
<script type="text/javascript">
var obj = [
{"C":"01","S":"Rej","D":"Jan 20","M":""},
{"C":"02","S":"App","D":"Jan 21","M":"Jan 22"},
{"C":"03","S":"Dr","D":"Jan 23","M":""},
{"C":"04","S":"Pending","D":"Jan 24","M":""}
];
var str = '';
$(obj).each(function(){
str += "<tr><td>"+this.C+"</td>";
if(this.S == "App"){
str += "<td class='text-success'>";
}else
if(this.S == "Rej"){
str += "<td class='text-danger'>";
}else
if(this.S == "Dr"){
str += "<td class='text-warning'>";
}else
if(this.Status == "Pending"){
str += "<td class='text-muted'>";
}
str += this.S+"</td><td>"+this.D+"</td><td>"+this.M+"</td>";
if(this.S == "App"){
str += "<td><button type='button' class='btn btn-default' disabled>Cancel</button> <button type='button' class='btn btn-default'>Print</button></td></tr>";
}else
if(this.S == "Dr"){
str += "<td><button type='button' class='btn btn-default'>Edit</button><button type='button' class='btn btn-default'>Delete</button></td></tr>";
}else
if(this.S == "Pending"){
str += "<td><button type='button' class='btn btn default'>Cancel</button></td></tr>";
}
})
$('#showData').html(str);
</script>
var obj=[
{“C”:“01”,“S”:“Rej”,“D”:“Jan 20”,“M”:“},
{“C”:“02”,“S”:“App”,“D”:“Jan 21”,“M”:“Jan 22”},
{“C”:“03”,“S”:“Dr”,“D”:“Jan 23”,“M”:“},
{“C”:“04”,“S”:“待定”,“D”:“1月24日”,“M”:“}
];
var-str='';
$(对象)。每个(函数(){
str+=“”+this.C+“”;
如果(this.S==“应用程序”){
str+=”;
}否则
if(this.S==“Rej”){
str+=”;
}否则
如果(this.S==“Dr”){
str+=”;
}否则
如果(this.Status==“待定”){
str+=”;
}
str+=this.S+“”+this.D+“”+this.M+“”;
如果(this.S==“应用程序”){
str+=“取消打印”;
}否则
如果(this.S==“Dr”){
str+=“编辑删除”;
}否则
如果(this.S==“待定”){
str+=“取消”;
}
})
$('#showData').html(str);
obj作为对象数组更容易处理,并且可以使用变量“this”来表示循环中的每个对象
另外,您正在为每个对象覆盖obj变量。我想您的意思是添加每个对象,而不是每次都覆盖?您能提供服务器返回的几个JSON对象示例吗?另外,关于可以解析哪种信息的更多信息。请提供一个JSON响应示例和最终的html,您可以antGood!还有,什么是C
、S
、D
和M
的意思?代码、状态、日期、修改可以在几行中完成?5-10行?你能提供服务器返回的几个JSON对象示例吗?另外,关于可以解析哪种信息的更多信息。请包括JSON响应您想要的示例和最终html!还有,C
、S
、D
和M
的意思是什么?代码、状态、日期、修改可以在几行内完成?5-10行?您可以使用JS和jQuery DOM方法添加示例吗?加载速度更快的是什么?您的答案还是使用JS和jQuery DOM方法?@JohnArellano我认为最快的答案应该是我的答案,因为它正在形成字符串,直接注入html。祝您愉快:)但是为什么这不是一个好的实践呢?你能给出使用JS和jquery DOM方法的示例以及你回答的逻辑吗?@JohnArellano你是对的,这不是推荐的方法,所以我更新了我的答案,实际上字符串连接是获得最佳性能的好方法。你能使用JS和jquery DOM方法添加示例吗?fas是什么加载中有什么问题?你的答案还是使用JS和jQuery DOM方法?@JohnArellano我认为最快的答案应该是我的答案,因为它正在形成字符串,并直接注入html。祝你愉快:)但是为什么这不是一个好的做法呢?你能给出使用JS和jquery DOM方法的示例以及你回答的逻辑吗?@JohnArellano你是对的,这不是推荐的方法,所以我更新了我的答案,实际上字符串连接是获得最佳性能的好方法。