У меня есть asp: панель, которая по умолчанию невидима. эта панель представляет собой оверлейное окно, которое принимает некоторые входы.
Я хочу добавить jquery datepicker в текстовое поле на этой панели, но поскольку эта панель невидима по умолчанию и видима после нажатия кнопки datepicker, она не работает. Когда я изменяю видимость панели, все отлично работает!
мой код:
<script type="text/javascript">
$(document).ready(function date () {
$(".test").datepicker(
{ showOn: 'button',
buttonImage: '../Script/jquery.ui.datepicker1.8.14-cc/styles/images/calendar.png',
buttonImageOnly: true});
});
</script>
я меняю свой сценарий на:
<script type="text/javascript">
function pageLoad(sender, args)
{
$(".test").datepicker(
{ showOn: 'button',
buttonImage: '../Script/jquery.ui.datepicker1.8.14-cc/styles/images/calendar.png',
buttonImageOnly: true
});
}
</script>
так что теперь все в порядке!
эта проблема возникает с администратором сценариев ajax и обновлением, когда я удаляю диспетчер скриптов ajax, каждая вещь работает должным образом, мне приходится регистрировать сценарий datepicker при загрузке страницы с помощью: ScriptManager.RegisterClientScriptBlock теперь я пытаюсь решить мою проблему с этим...
В случае изменения Видимости на стороне сервера вам нужно оставить его Видимым и управлять такими вещами с помощью css display:none
поскольку он фактически удаляет содержимое вашей панели из DOM.
Или, если я не ошибаюсь, вы можете просто сделать это в WebForms:
Panel.CssClass += "hide-me"
и класс css должен быть:
.hide-me {
display:none;
}