单元格监听+鼠标点击事件问题,在线等

1.gif有一组按钮想通过点击所在的行,显示出来,再次点击就隐藏.

用了以下代码作加载结束,发现循环执行多次.用alert显示num值,会显示很多次.

而且有时要点好几下才有效果.哪位大神给看看,不胜感激:


$(".x-table tr").mousedown(function() {

contentPane.on("cellselect", function(td) { //获取单元格被选中监听事件   

var num = contentPane.curLGP.getTDRow(td);

if (num > 17) {

$("#r-" + num + "-0").toggle();

//alert(num);

}

});

}); 


FineReport luojian0323 发布于 2019-12-6 18:42 (编辑于 2019-12-6 19:51)
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
luojian0323Lv7资深互助
发布于2019-12-6 20:28(编辑于 2019-12-6 20:29)

经过不断变换尝试,此问题终得到解决:

contentPane.on("cellselect", function(td) { //获取元格被选中监听事件   

var num = contentPane.curLGP.getTDRow(td);

if (num > 17 && $(this).text() != null) {


$("td[id^='B']").each(function() {//判断B列是否为空,由于这一行只有几个按钮,所以B列没有值

if ($(this).attr("row") > 17 && $(this).attr("row") != num&& $(this).text() == "") {

$("tr[tridx=" + $(this).attr("row") + "]").hide();

} else {

document.getElementById('r-' + num + '-0').style.display = '';

}

});

}

});

另外为了在页面加载后,让按钮默认隐藏,所以对页面中的任意一个按钮里写了个初始化后代码:

$("td[id^='B']").each(function() {

if ($(this).attr("row") > 17 && $(this).text() =="") {

$("tr[tridx=" + $(this).attr("row") + "]").hide();

}}); 

1.gif

最佳回答
0
孤陌Lv6资深互助
发布于2019-12-6 19:59

为什么不考虑用折叠树的方法

  • luojian0323 luojian0323(提问者) 主要这不是一般的层级关系.所以想试试不一样的.
    2019-12-06 20:02 
  • 3关注人数
  • 1271浏览人数
  • 最后回答于:2019-12-6 20:29
    请选择关闭问题的原因
    确定 取消
    返回顶部