我有以下包含转发器的 ListView。转发器加载三个充当列的列表,三个列表中的每一个都包含另一个充当行的列表。
以下内容有效,但仅隐藏了描述和第一个值列。我需要能够隐藏描述和所有三个值列
任何帮助将不胜感激
<asp:ListView ID="ListView1"
runat="server" DataKeyNames="KeyName1">
<LayoutTemplate>
<div runat="server" id="itemPlaceholder"></div>
</LayoutTemplate>
<ItemTemplate>
<div id="div1" runat="server" class="col">
<h2>
<asp:Label runat="Server" Text='<%#Eval("ds1") %>' /></h2>
<div class="premium">
<p>Monthly premium:</p>
<p>
<asp:Label ID="lbl1" runat="Server" />
</p>
</div>
<ul id="List1">
<asp:Repeater ID="rpt1" runat="server">
<ItemTemplate>
<li>
<p>
<asp:Label ID="Label1" runat="Server" Text='<%#Eval("Description")%>' />
</p>
<p>
<asp:Label ID="Label2" runat="Server" Text='<%#Eval("Value")%>' />
</p>
</li>
</ItemTemplate>
</asp:Repeater>
</ul>
</div>
<div class="reveal">
<p><a id="show" href="javascript:show();">Show</a><a id="hide" href="javascript:hide();" style="display:none;">hides</a></p>
</div>
</div>
</ItemTemplate>
</asp:ListView>
我有以下 Javascript 来显示和隐藏列
window.onload = function () {
hide();
};
function show() {
var list = document.getElementById('List1').getElementsByTagName("li");
for (var i = 0; i < list.length; i++) {
if (i >= 5) {
list[i].style.display = 'block';
}
}
document.getElementById('hide').style.display = 'inline';
document.getElementById('show').style.display = 'none';
}
function hide() {
var list = document.getElementById('List1').getElementsByTagName("li");
for (var i = 0; i < list.length; i++) {
if (i >= 5) {
list[i].style.display = 'none';
}
}