如何使用复选框切换面板的可见性
How can I toggle a panel's visibility using a CheckBox?
我有一个<asp:CheckBox>
,我需要对它应用JavaScript调用。如果选中CheckBox
,JavaScript 函数应将<asp:Panel>
的可见性设置为 true。如果未选中CheckBox
,则面板的可见性应为假。
我无法使用具有正常input:type = checkbox
<asp:CheckBox>
访问 JavaScript 函数。但我需要它成为一个<asp:CheckBox>
!
如果我
理解正确,我会亲自使用 jquery,那么你可以做这样的事情
$("#yourCheckBoxId").change(function(){
if($(this).attr('checked')){
$(".yourDivClass").show();
}
});
假设您的CheckBox
具有 runat="server"
属性,您需要执行以下操作:
$("<%= MyCheckBox.ClientID %>").change(function () {
$("<%= MyPanel.ClientID %>").toggle();
});
上面的代码假定您的CheckBox
和Panel
将始终具有相同的状态。也就是说,checked
CheckBox
等于可见Panel
。如果您需要修改此代码(更改Panel
可见的条件等(,并且想要引用CheckBox
的当前checked
状态,只需在change()
函数中执行此操作:
var checked = $(this).prop("checked");
注意:为了将来的兼容性,请务必使用 prop()
函数而不是 attr()
。这里的区别很细微,但attr()
将返回CheckBox
首次加载到页面上时的状态。 prop()
将返回CheckBox
的当前状态。
function toggle_panel(chkbox)
{
var panel=document.getElementById('<%=panle1.ClientID %>');
chkbox.checked ? panel.style.display='inline':panel.style.display='none';
}
只需调用javascript函数,为了从javascript访问 asp.net 控件,应该使用style属性使其不可见,因为如果使用Visible="false",javascript将返回undefined。
<asp:CheckBox ID="chkboxPanel" runat="server" onclick="toggle_panel(this);" Text="Show" />
<br />
<br />
<asp:Panel ID="panle1" runat="server" Style="display: none">
Iam Text Inside the Panel
</asp:Panel>
相关文章:
- 使用 Javascript 将 HTML 页面中的默认可见性从可见更改为隐藏
- 使用 jQuery 检查文本可见性 .包含代码的行为不符合预期
- 如何使用 asp.net 中的另一个下拉列表更改下拉列表选定的索引和可见性
- 使用javascript的图像可见性
- 使用Javascript在按键时显示隐藏的可见性文本
- 使用jquery的单个类属性可见性
- 使用 Javascript 更改 CSS 动画可见性
- 如何使用 JQuery 切换功能来切换一组矩形的可见性
- 使用 jQuery 切换 2 个元素的可见性
- Javascript:使用图标来控制部分内容的可见性
- 使用 jQuery 检查 DOM 元素的继承可见性
- 使用 elementFromPoint() 方法检查元素可见性
- 使用 JavaScript 复选框事件切换 html 的可见性
- 如何使用增量 + 选项(或可见性)在 JavaScript 上实现可见性
- 如何使用HTML / CSS / JS/在2个画布之间切换可见性
- 当列可见性更改时,使用 DTOptionsBuilder、ColVis 使用 AngularJs 执行操作
- 如何在 Web api mvc 项目中使用显示而不是可见性
- 使用 jquery 根据链接单击切换 DIV 可见性
- 检查可见性并使用jquery/javascript添加一个类,但不能依赖于滚动事件
- 使用地理位置数据限制websocket注释可见性