<div class="row">
<div class="span12">
<table class="table table-hover" id="ledsTable">
<thead>
<tr>
<th>编号 ID</th>
<th>描述 DESC</th>
<th>状态 STATUS</th>
<th>动作 ACTION</th>
</tr>
</thead>
</table>
</div>
</div> function updateAll() {
// 动态表格内容
$.getJSON(‘http://localhost/api/leds‘,function(data){
// data.total 表示记录总数
// data.row 表示记录内容
console.log(data.total);
$.each( data.rows , function( index , item){
// 取出 id description status
var id = item.id; console.log(id);
var description = item.description; console.log(description);
var status = item.status; console.log(status); console.log(status);
var btnStyle = ‘btn-success‘;
var btnText;
// 修改按钮样式,ON为绿色 OFF为白色
if( status == ‘on‘){
btnStyle = ‘btn-success‘;
btnText = ‘O N‘;
} else {
btnStyle = ‘btn-default‘;
btnText = ‘OFF‘;
}
// 插入一行,很遗憾 javascript没有 format
var newRow = ‘<tr dev_id="‘ + id + ‘">‘ +
‘<td>‘ + id + ‘</td>‘ +
‘<td>‘ + description + ‘</td>‘ +
‘<td>‘ + status + ‘</td>‘ +
‘<td>‘ +
‘<button type="button" class="btn btn-xs ‘ + btnStyle + ‘">‘ + btnText + ‘</button>‘ +
‘</td>‘ +
‘</tr>‘;
$(‘#ledsTable‘).append(newRow);
});
});
} $("table").delegate("button", "click", function(){
console.info($(this));
// 尝试获得 <button>text</button>
console.log($(this).text());
var $tr_obj = $(this).parent().parent();
// tr元素中包含 dev_id属性
var dev_id = $tr_obj.attr(‘dev_id‘);
console.log( dev_id );
// 访问该tr元素的所有子td元素
var $td_obj = $($tr_obj).children("td");
// 所有td元素的第二个
var $status_obj = $($td_obj).eq(2);
var status_str = $status_obj.text();
console.log(status_str);
// 改变按钮样式
if( status_str == "on"){
$(this).removeClass(‘btn-success‘);$(this).addClass(‘btn-default‘);
$(this).text("OFF");
$status_obj.text("off");
send_ledctrl( dev_id , "off");
}else{
$(this).removeClass(‘btn-default‘);$(this).addClass(‘btn-success‘);
$(this).text("O N");
$status_obj.text("on");
send_ledctrl( dev_id , "on" );
}
});
function send_ledctrl(dev_id, cur_status){
$.ajax({
url: ‘/api/leds/‘ + dev_id + ‘/status‘, // /api/leds/1
async: true,
dataType: ‘json‘,
type: ‘PUT‘,
data: JSON.stringify({status:cur_status}),
success: function(data, textStatus){
// 打印返回内容 {"success":true}
console.log(data.success);
},
error: function(jqXHR, textStatus, errorThrown){
console.log("error");
},
});
}前端学习2——深入ajax和restful,布布扣,bubuko.com
原文:http://blog.csdn.net/xukai871105/article/details/20399661