0

テンプレート化されていない TextBox コントロールに対して問題なく jQuery Datepicker を使用しています。ただし、ListView コントロールの EditItemTemplate にある TextBox で datepicker を動作させることができません。私の最新の試みは、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>
4

3 に答える 3

1

これは、日付ピッカーを内部のコントロールにアタッチする必要がある場合であることが判明しました...

function pageLoad(sender, args){}

それ以外の...

$(document).ready(function () {});
于 2010-06-17T13:15:04.353 に答える
1

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");
});

しかし、それはあなたが始めるのに十分なはずです.

于 2010-06-17T13:20:06.883 に答える
1

.jQuery で選択する場合 (CSS と同様)、クラス名の先頭に aが必要です。

$(document).ready(function () {  
  $('.DateControl').datepick({ dateFormat: 'M-dd-yyyy' });  
});  
于 2010-06-16T21:18:12.693 に答える