JQuery的show和hide方法完美解决
最近发现了一个这样有趣的问题,需求是需要隔行隐藏一行数据,再点击详情按钮的时候展开并显示,且需要合并单元格,当时冥思苦想了好久,结果打开API恍然大悟。废话不多说,上代码!
function show() {
var val = $("#fm").serialize();
$.post("goodsController/findMore",val,function (result) {
$("#tb").empty();
var num = 0;
for (var i in result) {
var sid = 'tr' + result[i].goodsid;
console.log(sid);
$("#tb").append('<tr >\n' +
' <th>'+result[i].name+'</th>\n' +
' <th>'+result[i].typename+'</th>\n' +
' <th>'+result[i].brand+'</th>\n' +
' <th>'+result[i].model+'</th>\n' +
' <th>'+result[i].price+'</th>\n' +
' <th><input type="button" value="详情" style="text-align: center" οnclick="show2('+sid+')"/></th>\n' +
' </tr>'+'<tr id='+sid+'>\n' +
' <th colspan="3"><img src="imgs/'+result[i].picture+'"></th>\n' +
' <th colspan="3"><p>'+result[i].description+'</p></th>\n' +
' </tr>'
)
//
var ssid = "#" + sid;
// console.log(ssid);
$(ssid).hide();
}
})
}
var flag=false;
function show2(oid) {
var did = '#' + oid.id;
if (flag) {
$(did).hide();
flag = false;
} else {
$(did).show();
flag = true;
}
//以下均为测试数据
// console.log(oid.id);
// console.log(did);
// var str = "#tr" + oid;
// console.log(str);
// console.log(document.getElementById(sid));
// document.getElementById(oid.id).style.display = "inline";
// id.style.display = "inline";
}
希望遇到这种问题的小伙伴也可以得到解决和帮助~