0

我想要一个 javascript 代码来隐藏/显示面板
如果网格有数据,则面板有一个网格......然后应该显示面板,如果网格为空,则应该隐藏面板

我试过这个代码..但它不起作用......

<script language="javascript" type = "text/javascript">
    var gridview = (document.getElementById("#<%= gridview1.ClientID %>")) ? true : false;
    if (gridview) {
        document.getElementById("Panel1").style.display = 'inline';
        }
    else {
  document.getElementById("Panel1").style.display = 'none';
    }
</script> 
4

3 回答 3

2

删除#in document.getElementById("#<%= gridview1.ClientID %>")

于 2013-02-15T04:40:09.647 回答
0

在行 -

var gridview = (document.getElementById("#<%= gridview1.ClientID %>")) ?真假;

而不是使用 ("#<%= gridview1.ClientID %>") ,自己编写网格的直接 ID。like

var gridview = (document.getElementById("gridview1")) ?真假;

试试看。

于 2013-02-15T04:52:07.173 回答
0

首先,我对C#不熟悉,所以我不能为其他部分的代码说话。至于 JavaScript,你应该知道几件事:

  1. getElementById 不返回布尔值,它返回一个对象。所以用!!强制转换为布尔值
  2. getElementById 不会告诉您元素中是否存在值。它只是返回由 getElementById 指定的 DOM 对象。您需要检查 innerText(对于 IE、chrome、safari)或 textValue(对于 firefox、chrome、safari)属性。如果使用 jQuery,请检查 .val() 或 .text() 是否为空。
  3. 而getElementById 只是使用元素的名称,没有#。jQuery 使用它。

希望它有帮助,
安吉拉 :)

于 2013-02-15T04:52:57.143 回答