manishss Ответов: 2

Jquery datepicker не работает в панели обновления


я пытаюсь вызвать jquery на нижнем контроле
<input type="text" name="hearingDate1" id="hearingDate1" size="8" class="form-control" />

но он не работает из-за панели обновления.
если я удалю панель обновления, то она будет работать нормально.

Что я уже пробовал:

<script type="text/javascript">

        $(document).ready(function (e) {
            $("#clockpick,#hearingTime").clockpick({
                valuefield: 'hearingTime'
            });
            $('#hearingDate').datepick({ firstDay: 1, dateFormat: 'dd/mm/yyyy', defaultDate: false, selectDefaultDate: true,
                minDate: '0', maxDate: '+40d',
                renderer: $.extend({}, $.datepick.defaultRenderer,
        { picker: $.datepick.defaultRenderer.picker.
            replace(/\{link:clear\}/, '{button:clear}').
            replace(/\{link:close\}/, '{button:close}')
        }),
                showTrigger: '#imgDate'
            });
        });

        $(document).ready(function (e) {
            $("#clockpick1,#hearingTime1").clockpick({
                valuefield: 'hearingTime1'
            });
            $('#hearingDate1').datepick({ firstDay: 1, dateFormat: 'dd/mm/yyyy', defaultDate: false, selectDefaultDate: true,
                minDate: '0', maxDate: '+40d',
                renderer: $.extend({}, $.datepick.defaultRenderer,
        { picker: $.datepick.defaultRenderer.picker.
            replace(/\{link:clear\}/, '{button:clear}').
            replace(/\{link:close\}/, '{button:close}')
        }),
                showTrigger: '#imgDate1'
            });
        });

    </script>





&ЛТ;как ASP:UpdatePanel и ИД="UpdatePanel1" атрибут runat="сервер" помощью updatemode="условный" и GT;
< contenttemplate>



&ЛТ;АСП:метка идентификатор="lblreqdetails" атрибут runat="сервер" текст="детали запроса:"и GT;



&ЛТ;див класс="" атрибут runat="сервер" идентификатор="divSummonforparties" видны="ложно"и GT;




*

Введите дату и время:


в <тип входного="текст" имя="hearingDate1" идентификатор="hearingDate1" размер="8" класс="форма контроля" /&ГТ;

&ЛТ;ИМГ СРЦ="../Images/calendar.gif" АЛТ="popup1" идентификатор="imgDate1" класс="datepick триггер-триггер" /&ГТ;



в <тип входного="текст" имя="hearingTime1" идентификатор="hearingTime1" размер="8" стиль="маржи-левой: в 20px"
class= "form-control" />


&ЛТ;ИМГ ИД="clockpick1" ширина="20" высота="20" СРЦ="../Images/clock.gif" АЛТ="pop1" /&ГТ;




&ЛТ;див класс="ряд" атрибут runat="сервер" идентификатор="divReschedule" видны="ложно"и GT;





*

Введите дату и время:


в <тип входного="текст" имя="hearingDate" идентификатор="Текст1" размер="8" класс="форма контроля" /&ГТ;

&ЛТ;ИМГ СРЦ="../Images/calendar.gif" АЛТ="popup1" идентификатор="img1" класс="datepick триггер-триггер" /&ГТ;



в <тип входного="текст" имя="hearingTime" идентификатор="Текст2" размер="8" стиль="маржи-левой: в 20px"
class= "form-control" />


< img id=" Img2 "width=" 20 "height=" 20 "src=" ../Images/clock.gif "alt= "pop1" />







&ЛТ;АСП:кнопка ID="btn_submit" атрибут runat="сервер" текст="отправить" функция onclick="btn_submit_Click"
CssClass= "btn btn-success" />


& lt;триггеры> & lt;asp:PostBackTrigger ControlID= "btn_submit" />



Rajeev Jayaram

Работает ли это в первый раз?

2 Ответов

Рейтинг:
13

F-ES Sitecore

Отформатируйте код в вашем вопросе правильно, а также попробуйте показать только соответствующие биты.

Как бы то ни было, ваша проблема, вероятно, связана с тем, что вы установили средство выбора даты для элемента с помощью $(document).готов, но когда панель обновления срабатывает, она уничтожает и воссоздает элементы внутри нее, так что элемент, к которому был прикреплен ваш выбор даты, исчез, замененный чем-то, что выглядит так же, но не имеет вашего выбора даты.

Вместо того чтобы инициализировать свой выбор даты с помощью document ready, используйте диспетчер сценариев и pageLoad;

Как запустить javascript после завершения выполнения updatepanel | На форумах ASP.NET [^]


manishss

Теперь, когда я отформатировал код, пожалуйста, проверьте Mr F-ES Sitecore и помогите мне

F-ES Sitecore

Как я уже сказал, используйте pageLoad, а не $(document).готов прикрепить свой выбор даты. Код в ссылке показывает, что у вас есть и как вам нужно это изменить.

manishss

Спасибо F-ES Sitecore. теперь все работает нормально

Рейтинг:
1

Rajeev Jayaram

Работает ли это в первый раз? Если это так, то после первого обновления "панели обновления" все события отписываются. Повторная подписка с помощью PageRequestManager который будет доступен, потому что у вас есть панель обновления на странице.

Для получения дополнительной информации, см. Этот Представление sys.Веб-формы.Событие pagerequestmanager endRequest[^]


manishss

это тоже не работает в первый раз.