【发布时间】:2014-11-27 05:47:41
【问题描述】:
我有一个在初始化时隐藏的下拉列表,因为它不需要,除非客户端实际选择了特定的单选按钮列表对象。我目前通过
将其设置为 falsedlInterval.Attributes.CssStyle[HtmlTextWriterStyle.Visibility] = "hidden";
但是,尝试通过 javascript 在选择时更改此设置失败了,目前,我已将我的代码设置为这样执行。
<script type="text/javascript" language="javascript">
$(document).ready(function () {
$("#<%=rblVectorChoices.ClientID%>").click(function() {
var intVectorSelectedIndex = $('#<%=rblVectorChoices.ClientID %> input[type=radio]:checked').val();
$("#<%=dlInterval.ClientID %>").style.visibility="visible";
if (intVectorSelectedIndex == 1) {
$("#<%=dlInterval.ClientID%>").show();
} else {
$("#<%=dlInterval.ClientID%>").hide();
}
});
});
</script>
如您所见,我目前正在尝试将可见性从隐藏更改为可见,但我在浏览器控制台中收到错误“TypeError: Cannot set property 'visibility' of undefined'
这对我来说没有多大意义,因为字段应该被隐藏,而不仅仅是 null。导致这种情况发生的原因是什么,有什么好的解决方案?
【问题讨论】:
-
为什么设置为可见,然后再调用show/hide?为什么不直接使用
show()? -
你确定是
visibility?在 CSS 中,.show()/.hide()的对应属性是display。 -
这是一种让可见性发挥作用的尝试。如果没有该行,我不会收到任何错误,但下拉列表仍然隐藏。
-
感谢北基尔多南,解决了它!如果你不介意写下答案,我会确保我选择它。
-
我刚才在我的回答中加入了 CssStyle["display"] = "hidden"
标签: javascript jquery css asp.net