2

我正在尝试使用正在工作的 jquery 隐藏和显示一个表。我的问题是我还需要检查这个表在代码隐藏中是否可见,所以我可以说它是否可见然后验证这些字段。而且我还希望表格在页面加载时不可见。

在我的 PageLoad 上,当我添加以下代码时,javascript 停止工作

table1.Visible = false;

$(document).ready(function () {
    $("#checkbox1").change(function () {
        $("#table1").toggle();
    });
})

<input type="checkbox" id="checkbox1" name="checkbox1" />
<table id="table1">
Hiddent Fields
</table>
4

4 回答 4

1

这是我的 2 美分:

在标记中:

<table id="table1" runat="server">

在 Page_Load 中:

table1.Style.Add("display", "none");

当您想检查表格是否不可见时:

if(table1.Style["display"] == "none")
{
    // Do what you need to 
}

您将完全控制 jquery 中的表以及后面的代码。

于 2013-08-25T20:30:35.357 回答
0

演示

尝试这个,

$(document).ready(function () {
    $("#table1").hide();
     $("#checkbox1").change(function () {
        $("#table1").toggle();
    });
})

并指定id="checkbox1"

<input type="checkbox" id="checkbox1" />
<table id="table1">
    <th>Hidden things</th>
</table>
于 2013-08-25T13:30:27.903 回答
0

您可以使用hidden选择器。

// Matches all elements that are hidden
$('element:hidden')

visible选择器

// Matches all elements that are visible.
$('element:visible')

或者

您可以使用.is(':visible')来测试某些东西是否可见并.is(':hidden')测试相反的情况:

要隐藏页面加载,您可以使用

$(document).ready(function () {
   $('#table1').hide();
});

或使用css

#table1{ display:none; } 

演示

$(document).ready(function () {
    $("#table1").hide();
     $("#checkbox1").change(function () {
        $("#table1").toggle();
    });
})
于 2013-08-25T13:19:17.877 回答
0

您尝试使用他的id#checkbox1)而不是他的name来访问元素,所以您的问题是您的更改事件永远不会被触发。更改选择器以使用name='checkbox1'

  $("input[name='checkbox1']").change(function () {});

或添加id='checkbox1'到您的输入:

 <input type="checkbox" name="checkbox1" id="checkbox1"  />

在这里演示

于 2013-08-25T13:33:46.733 回答