2010-03-26 4 views
0

Я получаю свой элемент управления datepicker для привязки к чему-либо с классом calendarTrigger на любой из моих страниц, однако на всплывающих окнах (из которых используется мастер-страница и на которых есть файлы сценариев на главной странице), они не привязываются к элементам пользовательского интерфейса datepicker.jQuery UI не привязан к всплывающим окнам

Есть что-то, что мне не хватает?

JQuery код Held В UserInterfaceScripts.js

$(document).ready(function() { 

    $(".calendarTrigger").datepicker({showAnim: 'fadeIn', changeMonth: true, changeYear: true, yearRange: '1950:2010' }); 
}); 

код сценария Held в Родитель Master Page, а также всплывающее окно Master Page

<script type="text/javascript" language="javascript" src="/scripts/jquery-1.4.2.min.js"></script> 
<script type="text/javascript" language="javascript" src="/scripts/jquery-ui-1.8rc3.custom.min.js"></script> 
<script type="text/javascript" language="javascript" src="/scripts/UserInterfaceScripts.js"></script> 

АГУ код на Popup: (То, что вы ищете, это текстовое поле с CssClass of calendarControl) (игнорируйте прежнюю функциональность функции showCalendar, которую я заменяю)

<asp:Table runat="server" CellSpacing="0"> 
     <asp:TableRow> 
      <asp:TableCell ColumnSpan="2"> 
      <asp:TextBox ID="searchText" runat="server" Width="500" style="color: #AAA;" Value="Enter the first few letters of the Test Name" 
       onClick="clickedOnce(this);"></asp:TextBox> 
      </asp:TableCell> 
      </asp:TableRow> 
     <asp:TableRow> 
      <asp:TableCell> 
       <asp:Table ID="Table1" runat="server" CellSpacing="0"><asp:TableRow><asp:TableCell> 
       Date 
       <br /> 
       <asp:TextBox ID="testDateOther" runat="server" CssClass="calendarTrigger"> 
       </asp:TextBox> 
       </asp:TableCell> 
       <asp:TableCell Width="20"> 
        <br /> 
       <a id="testDate" runat="server" href="Javascript:ShowCalendar('testDateOther',1900,'dd/mm/yyyy');"> 
        <img id="Img5" src="/images/calendar.gif" class="phrCalender" runat="server"></a> 
       </asp:TableCell></asp:TableRow></asp:Table> 
     </asp:TableCell> 
     </asp:TableRow> 
     <asp:TableRow><asp:TableCell> 
       <br /> 
       Test Result 
       <br /> 
       <asp:RadioButtonList runat="server" ID="testResultOther" RepeatDirection="Horizontal"> 
        <asp:ListItem Text="Normal" Value="yes" Selected="True"></asp:ListItem> 
        <asp:ListItem Text="Abnormal" Value="no"></asp:ListItem> 
       </asp:RadioButtonList> 
       </asp:TableCell> 
      </asp:TableRow> 
     <asp:TableRow> 
     <asp:TableCell ColumnSpan="2"> 
      Notes 
      <br /> 
      <asp:TextBox ID="testNoteOther" runat="server" TextMode="MultiLine" Rows="4" Width="500"> 
      </asp:TextBox> 
     </asp:TableCell> 
    </asp:TableRow> 
    </asp:Table> 

Я уверен, что это не проблема Селектор либо потому, что я создал текстовое поле вне всей таблицы структуры и она не работает либо:/

+0

Можем ли мы увидеть код? –

+1

ли это в UpdatePanel случайно? –

+0

Нет Update Panel, однако нет менеджера сценарий присутствует на Всплывающая страница, может ли это испортить любой код jQuery, пытающийся быть запущенным? –

ответ

0

Проверить эту ссылку:

http://www.thepensiveprogrammer.com/2009/07/jquery-and-scriptmanager-in-aspnet.html

Похоже, что происходит то, что ScriptManager регистрирует сценарий запуска в блоке прямо перед тегом закрывающей формы. Проблема связана с тем, что jQuery пытается изменить тег body при создании всплывающей подсказки даты. Тег body является родителем тега формы, и тег формы еще не закрыт. Лентяй»

Он имеет работу вокруг тоже.

HTH

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