Получение jQuery datepicker для присоединения к TextBox в ListView - PullRequest
0 голосов
/ 17 июня 2010

Я использую jQuery Datepicker без проблем для элементов управления TextBox, которые не являются шаблонами. Однако я не могу заставить указатель даты работать с TextBox, который находится в EditItemTemplate элемента управления ListView. Моя последняя попытка - получить ручку для этого текстового поля по имени класса CSS «DateControl», есть идеи?

<asp:ListVIew id="lvTest" runat="server">  
  <LayoutTemplate>...</LayoutTemplate>  
  <ItemTemplate>...</ItemTemplate>  
  <EditItemTemplate>  
     <tr>  
       <td>  
         <asp:TextBox ID="txtExpReceiveDate" runat="server" Text='<%#Eval("exp_receive_date","{0:dd-MMM-yy}") %>' CssClass="DateControl" />  
       </td>  
     </tr>  
  </EditTemplate>  
</asp:ListView>

<script type="text/javascript" language="javascript">  
   $(document).ready(function () {  
     $('.DateControl').datepick({ dateFormat: 'M-dd-yyyy' });  
   });  
</script>

Ответы [ 3 ]

1 голос
/ 17 июня 2010

Это оказалось как раз тем случаем, когда мне нужно было прикрепить указатель даты к моим элементам управления внутри ...

function pageLoad(sender, args){}

вместо ...

$(document).ready(function () {});
1 голос
/ 17 июня 2010

Прошло много времени с тех пор, как я использовал ListView, но я думаю, что элементы управления Edit отображаются динамически - обратной передачи нет.

Таким образом, чтобы присоединиться к динамически включенному элементу, вам нужно использовать новый jquery live - не уверен, что вы можете сделать что-то вроде

$('.DateControl').live('click', function() {
  $('.DateControl').datepick({ dateFormat: 'M-dd-yyyy' });  
});

или если вам нужно присоединить это к событию Edit что-то вроде:

$("DateControl").live("showEdit", function(e, myName, myValue){
  $('.DateControl').datepick({ dateFormat: 'M-dd-yyyy' });  
});
$("EditControl").click(function () {
  $("DataControl").trigger("showEdit");
});

Но этого должно быть достаточно, чтобы начать работу.

1 голос
/ 17 июня 2010

Вам нужно . в начале имени класса при выборе с помощью jQuery (как в CSS):

$(document).ready(function () {  
  $('.DateControl').datepick({ dateFormat: 'M-dd-yyyy' });  
});  
...