2016-09-28 3 views
0

Я имею в виду этот сайт http://jqueryui.com/datepicker/ для datepicker, и я кодирую точно так же, как и исходный код. Эти кодировки работают нормально.Datepicker не работает при добавлении runat = "server"

Но ..

Когда я добавляю RUNAT = «сервер» внутри этой части кода <input type="text" id="datepicker"> мой календарь не будет отображаться при нажатии TextBox. Мне нужно поставить runat = "server", чтобы я мог использовать его за кодом.

Любое предложение от вас, ребята, было бы очень признательно. Спасибо.

+0

Обратитесь в консоль за ошибками – madalinivascu

+1

Вы не можете напрямую получить компоненты js в коде. Смотрите здесь http://stackoverflow.com/questions/9032068/how-to-set-a-date-get-a-date-for-datepicker-in-codebehind – Den

ответ

0

Я нашел правильный способ сделать это.

Для ASP.Net дизайна

<asp:TextBox runat="server" id="datepicker"></asp:TextBox>

На серверной стороне клиента

$(document).ready(function() { $("[id$=datepicker]").datepicker(); });

поставил $("[id$=datepicker]").datepicker(); вместо $('#<%= datepicker.ClientID %>').datepicker(); то календарь будет отображаться и возможность вызова datepicker в коде.

1

Когда Runat = сервер добавляется с главной страницы, то он генерирует по умолчанию идентификатор стиля с главной страницы .. Так что, чтобы избежать его попробовать ClientIDMode = «Static»

<input type="text" id="datepicker" runat="server" ClientIDMode="Static"> 

с вне ClientIDMode = «Static» сгенерированный HTML является

<input type="text" id="MainContent_datepicker" name="ctl00$MainContent$datepicker"> 

для получения дополнительной информации используйте firebug для Mozilla Firefox с помощью проверки элемента с й irebug

0

Когда текстовое поле runat = «сервер» в источнике просмотра, вы можете найти имя текстового поля с генерируемым динамическим префиксом.

Таким образом, в вашем JavaScript вы не должны использовать атрибут id, указанный в теге, вместо этого вы должны использовать <% = IdAttributeValue.ClientID%>, который даст сгенерированный идентификатор.

0

попробуйте использовать этот

<script> 
$(document).ready(function() { 
$("body").delegate("#<%=datepicker.ClientID%>", "focusin", function() { 
$(this).datepicker(); 
}); 
}); 
    </script> 
Смежные вопросы