2017-01-30 4 views
0

Я хотел бы использовать jQuery-UI datepicker для элемента управления asp: TextBox. Вот мой синтаксис сценария:Java Script не работает на сервере ASP.Net

<script> $(function(){$document.getElementById('<%txtvBdayEd.ClientID%>').datepicker({dateFormat: "yy-mm-dd"}); 
     }); 
</script> 

он не работает, и мне интересно, что неправильно?

Мой идентификатор приходит из

<asp:Textbox id="txtvBdayEd" CssClass="txtBoxes" runat="server" Text="PlaceHolder"></asp:Textbox> 
+0

Ваш селектор элементов выглядит странно для меня. 'getElementById (' <% txtvBdayEd.ClientID%> ')' действительно есть элемент DOM с атрибутом id '<% txtvBdayEd.ClientID%>'? – cobolstinks

+3

Не должен быть <% = txtvBdayEd.ClientId%> – Esko

+0

@cobolstinks, который оценивается и распечатывается на сервере – charlietfl

ответ

2

У вас есть небольшая ошибка синтаксиса в коде ASP.NET для генерации идентификаторов на стороне клиента, а также вы перепутали JQuery и стандартный синтаксис JS для извлечения элемент.

Атрибут ASP должен быть равен = непосредственно перед <%, а для части скрипта $ document, вероятно, ничего не оценивает. document.getElementById предоставит вам элемент JS, но метод datepicker должен быть вызван на объект jQuery (который обертывает элемент JS). Это делается с использованием синтаксиса $ (селектор):

$("#<%=txtvBdayEd.ClientID%>").datepicker({ dateFormat: 'yy-mm-dd' }); 

должен работать должным образом.

+0

Я просто хочу добавить одно небольшое изменение в решение ClientId должно быть ClientID как это чувствительно к регистру. – Tommy

+0

@TommyMcGee сделано, спасибо. Прошло некоторое время с тех пор, как я использовал ASP.NET Forms, вы скоро забудете эти маленькие детали! – ADyson

 Смежные вопросы

  • Нет связанных вопросов^_^