【发布时间】:2016-09-06 19:56:55
【问题描述】:
我正在从复选框 onclick 事件中调用 showhide() 函数,这个 showhide 函数还隐藏了 Gridview 页面,因为 gridview 寻呼机也由 <tr> 和 <td> 组成,并且在我的代码中我使用了网格视图的索引要隐藏的列。但对于我的要求,我只需要隐藏 gridview 列。有没有办法做到这一点?
<asp:CheckBox ID="chkReceiveDt" runat="server" Checked="true"
OnClick="showhide(this,'ReceiveDt')" />
<script type="text/javascript">
function showhide(sender, ColumnText) {
var isChecked = $('#' + sender.id).is(":checked");
var th = $("[id*=GridView1] th:contains(" + ColumnText + ")");
th.css("display", isChecked ? "" : "none");
$("[id*=GridView1] tr").each(function () {
$(this).find("td").eq(th.index()).css("display", isChecked ? "" : "none");
});
}
</script>
【问题讨论】:
-
我能想到的唯一方法是将行
<tr class="pager">中的所有内容复制到一个虚拟表中。 -
@VDWWD Gridview 寻呼机是动态发生的,所以我无法控制它将 tr 元素复制到虚拟表中。
标签: javascript c# jquery asp.net gridview