我正在使用jQuery Datepicker,对于非模板化的TextBox控件没有任何问题。但是,我无法使用datepicker来处理ListView控件的EditItemTemplate中的TextBox。我最近的尝试是通过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>
答案 0 :(得分:1)
使用jQuery选择时,在类名的开头需要.
(就像CSS一样):
$(document).ready(function () {
$('.DateControl').datepick({ dateFormat: 'M-dd-yyyy' });
});
答案 1 :(得分:1)
原来我只需将日期选择器附加到我的控件内...
function pageLoad(sender, args){}
而不是......
$(document).ready(function () {});
答案 2 :(得分: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");
});
但这应该足以让你开始。