我有一个带div的网页:
<div runat="server" id="divNewCapture" style="padding-top: 30px; padding-bottom: 30px; padding-left: 20px">
...
</div>
在这个div中,我有一个与JQuery datepicker一起使用的文本框:
<input id="txtHtmlDateMarried" class="textEntry" style="width: 295px" />
$('#txtHtmlDateMarried').datepicker({
showOn: "button",
buttonImageOnly: true,
buttonImage: "Images/Calendar.png",
dateFormat: "yy/mm/dd",
});
Page_Load上的服务器端我隐藏了div:
divNewCapture.Visible = false;
当我稍后再次显示此div时,文本框的日期选择器将丢失。它最初显示我是否不隐藏div。 (我想在没有任何服务器端代码的情况下解决这个问题)
答案 0 :(得分:1)
由于divNewCapture
是服务器端控件,因此将其Visible
设置为false会有效地从页面中删除控件。即当Visible
为false时,不会呈现控件。因此,初始化时,datepicker不会看到它。
如果您想要隐藏控件但确保它仍然在页面上并且可用于javascript调用,那么请使用样式进行操作。隐藏:
btnSaveLineItems.Style["display"] = "none";
显示:
btnSaveLineItems.Style.Remove("display");
//or
btnSaveLineItems.Style["display"] = "block";
然而,或许更好的风格是完全管理客户端控制的可见性。