在指定的列数之后添加新的行
Add new row after specified number of columns added javascript
我一直在努力获得一个带有按钮的仪表板,每个按钮将代表一台机器。这个按钮是根据Jquery的结果生成的。
目前,我想在一行中添加10个按钮,然后在新行中继续添加它们。另外,我的另一个问题是,我想改变按钮的颜色取决于ajax的结果。
我已经尝试了下面的代码,但它给我的结果是我在下面附加的图像。
图片:http://i68.tinypic.com/296oysw.png
(对不起,不能发布图像,因为我是新的Stackoverflow)
$( document ).ready(function(){
var d = new Date();
var now = d.getTime() + 300;
var color;
var u = '/read/machines/' +{{userid}};
$.ajax({
url: u,
type: "GET",
dataType: 'json',
success: function(data) {
$.each(data, function(i, item) {
if (item.lastCommunication > now ){
color = "success";
}else{
color = "warning";
}
if (i != 0 && i%10 == 0){
$('<tr>').append(
$('<td>').append(
$('<button type="info" id="info" class="btn btn-'+color +' btn-lg" ontouchstart="touchAvailable=true; machineInfo('+item.id +');" onclick="if(!touchAvailable) machineInfo('+item.id +');">'+item.name+'</button>')
)
).appendTo('#body');
}else{
$('<td>').append(
$('<button type="info" id="info" class="btn btn-'+color +' btn-lg" ontouchstart="touchAvailable=true; machineInfo('+item.id +');" onclick="if(!touchAvailable) machineInfo('+item.id +');">'+item.name+'</button>')
).appendTo('#body');
}
});
}
});
});
</script>
我认为else分支中的td
元素应该追加到#body tr:last
if(i%10 == 0){
$('<tr>').appendTo('#body');
}
$('<td>').append(BUTTON_CODE).appendTo('#body tr:last');
尝试先创建行....当您到达第10项或最后一项时,添加行并创建新行(如果需要)
var $tr =$('<tr>')
$.each(data, function(i, item) {
if (item.lastCommunication > now ){
color = "success";
}else{
color = "warning";
}
if (i != 0 && i%10 == 0 || i==data.length-1){
// 10th button or last button append row
$tr.append(
$('<td>').append(
$('<button type="info" id="info" class="btn btn-'+color +' btn-lg" ontouchstart="touchAvailable=true; machineInfo('+item.id +');" onclick="if(!touchAvailable) machineInfo('+item.id +');">'+item.name+'</button>')
)
).appendTo('#body');
//create new row
if(i !== data.length-1){
$tr =$('<tr>');
}
}else{
$('<td>').append(
$('<button type="info" id="info" class="btn btn-'+color +' btn-lg" ontouchstart="touchAvailable=true; machineInfo('+item.id +');" onclick="if(!touchAvailable) machineInfo('+item.id +');">'+item.name+'</button>')
).appendTo($tr);
}
});
相关文章:
- 正在链接添加了以下内容::在之后
- Jquery添加一个类之后,如何应用css
- 如何在侦听器之后添加可拖动功能
- AngularJS:在.post()之后添加事件侦听器
- 动态jQuery不在.append()之后发布表单的添加输入
- jqgridnavgrid在搜索按钮和自定义按钮之后添加按钮
- 使用jQuery添加类,但要确保它使用类之后的所有标记
- 如何在元素之后将模板片段添加到angular.js中的指令中
- 如何在wooccommerce脚本之后添加自定义java脚本
- 在添加类之后,为DIPLAY内容添加延迟
- 如果在transclusion之后添加,为什么指令下的动态元素具有错误的作用域
- 在使用jquery验证电子邮件之后添加一个类
- 在定义了构造函数之后,是否可以将实例属性添加到JavaScript原型中
- 在向Promise添加监听器之后,我应该使用原始的Promise还是新的Promise
- 如何使用Javascript或Jquery在X个
- 之后添加子菜单
- 在jQuery的显示和隐藏动画之后添加类
- 煎茶触摸 - 在组件之后添加/插入
- For 循环成功地将元素添加到数组中,但在之后返回空数组
- Qualtrics:在矩阵表中的文本框之前/之后添加不同的字符
- 在html被ajax添加之后,Angularjs无法工作