JQuery DatePicker - PullRequest
       7

JQuery DatePicker

2 голосов
/ 11 декабря 2008

Почему-то я не могу использовать runat="server" в качестве атрибута для тега ввода, чтобы jQuery отображал кнопку изображения и работал. Что-то не так без runat="server"? Работает нормально. И я хочу, чтобы формат был «гггг / мм / дд», а также он мне нужен для сервера, потому что именно здесь я проверяю, является ли введенная вручную дата действительной и соответствует ли она принятому формату. Я действительно хочу использовать asp:button, но так как я не могу использовать атрибут runat="server", я не знаю, что делать, так как это требуется для элементов управления asp

<script language="javascript" type="text/javascript">

  $(document).ready(function(){
    $("#datepicker").datepicker({ showOn: "both", 
                                  buttonImage: "/Content/img/calendar.gif", 
                                  buttonImageOnly: true });
  }); 

</script>

Ответы [ 3 ]

8 голосов
/ 11 декабря 2008

меняет ваш идентификатор с "#datepicker" на "form1_ctl01_ctl05_datepicker" или что-то еще, когда вы используете runat = 'server'

EDIT: Для решения вы можете выбрать его на основе класса CSS, а не ID

<input id='datepicker' runat='server' class='datepicker' />

$(document).ready(function(){
$(".datepicker").datepicker({ showOn: "both", 
                              buttonImage: "/Content/img/calendar.gif", 
                              buttonImageOnly: true });
}); 
2 голосов
/ 11 декабря 2008

Для элементов управления с runat = "server" aspnet генерирует свои собственные, довольно уродливые идентификаторы для визуализированных элементов управления html.

Если ваш скрипт находится на реальной странице, вы можете заменить
$ ("# datepicker") с $ ("# <% = datepicker.ClientID%>"),
который выведет искаженный идентификатор, сгенерированный aspnet, или, как предложил Джимми, вместо этого нацелит его на класс css.

0 голосов
/ 13 июля 2012

для потомков:

При использовании тега runat='server' добавьте clientidmode='static' к тегу элемента, чтобы предотвратить искажение сгенерированного идентификатора. В сложных или вложенных формах это может мешать уникальности ваших контрольных идентификаторов, поэтому по умолчанию они имеют префикс с идентификатором родителя (ей) элемента.

p.s. Класс css, вероятно, является лучшим способом (IMHO) для обработки средств выбора даты, поэтому принятый ответ выглядит хорошо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...