【发布时间】:2014-07-06 22:02:39
【问题描述】:
我已经为 gridview 的每一列创建了复选框。 在取消选中复选框时,我将隐藏该复选框的相关列 并在检查时,我再次显示该特定列
在我的代码中,我为每个复选框的操作使用单独的 javascript 函数, 所以,我的问题是:有没有办法让所有复选框只有 1 个 js 功能???? (类似于使用基于 jquery 索引的方法访问 DOM 元素)
这是我的代码
<script src="Scripts/jquery-1.4.3.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
$("#chk1").click(function () {
$("table tr").find("th:eq(0)").toggle();
$("table tr").find("td:eq(0)").toggle();
});
$("#chk2").click(function () {
$("table tr").find("th:eq(1)").toggle();
$("table tr").find("td:eq(1)").toggle();
});
$("#chk3").click(function () {
$("table tr").find("th:eq(2)").toggle();
$("table tr").find("td:eq(2)").toggle();
});
$("#chk4").click(function () {
$("table tr").find("th:eq(3)").toggle();
$("table tr").find("td:eq(3)").toggle();
});
$("#chk5").click(function () {
$("table tr").find("th:eq(4)").toggle();
$("table tr").find("td:eq(4)").toggle();
});
});
</script>
<body>
<form id="form1" runat="server">
<div align="center">
<asp:CheckBox ID="chk1" Text="Id" Checked="true" runat="server" />
<asp:CheckBox ID="chk2" Text="Name" Checked="true" runat="server" />
<asp:CheckBox ID="chk3" Text="Password" Checked="true" runat="server" />
<asp:CheckBox ID="chk4" Text="Email Id" Checked="true" runat="server" />
<asp:CheckBox ID="chk5" Text="Designation" Checked="true" runat="server" />
<asp:GridView ID="gv" runat="server" AutoGenerateColumns="false" ShowHeaderWhenEmpty="true">
<Columns>
<asp:BoundField DataField="Id" HeaderText="Emp Id" />
<asp:BoundField DataField="EmpName" HeaderText="Emp Name" />
<asp:BoundField DataField="EmpPassword" HeaderText="Password" />
<asp:BoundField DataField="Email" HeaderText="Email Id" />
<asp:BoundField DataField="Designation" HeaderText="Designation" />
</Columns>
</asp:GridView>
</div>
</form>
</body>
【问题讨论】: