2011-02-25 116 views
2

我正在使用ASP.NET来开发一个网站,我将在我的网站中使用jQuery datepicker。我使用下面的代码,但它不会工作。有谁知道为什么?jQuery datepicker不能在ASP.NET页面工作

<link href="css/calendar/jquery-ui-1.8.7.custom.css" rel="stylesheet" type="text/css" /> 
<script src="jquery/calendar/jquery-1.4.4.min.js" type="text/javascript"></script> 
<script src="jquery/calendar/jquery-ui-1.8.7.custom.min.js" type="text/javascript"></script> 


<script type="text/javascript"> 
$(function() { 
    $("#txtEventDate").datepicker(); 
}); 
</script> 

这里是我的文本框HTML代码:

<asp:TextBox ID="txtEventDate" runat="server" Width="125px"></asp:TextBox> 

回答

0

尝试一下本作你的JavaScript:

$(document).ready(function() { 
    $("#txtEventDate").datepicker() 
}); 

这可能是真的更容易帮助,如果您发布了HTML的培训相关的部分也是代码(包含具有txtEventDate id的元素的代码)。

0

除了jQuery UI之外,您是否包含了最新的jQuery文件?从你的代码中不明显。

您还没有包含任何生成的HTML,但是您是否确保在HTML代码中输入的文本具有正确的ID集?

此外,你应该尝试利用.ready函数,使得代码只触发时疗法DOM满载:

$(document).ready(function() { 
    $("#txtEventDate").datepicker() 
}); 

编辑:现在你已经改变了你的代码,以显示包含jQuery,但是您没有粘贴ASP生成的相关HTML代码。我怀疑问题是输入ID是随机生成的,并且不匹配#txtEventDate。

其他编辑:您现在已经包含了ASP代码,但您仍未包含生成的HTML源代码输入 - 正如大多数答案所指出的那样,ASP可能会在您的ID中包含其他信息标签,这是防止jQuery识别它。

12

也许文本框的ID不是“txtEventDate” - 它可能是“ctrl00-ucDatePicker-txtEventDate”或其他东西,因为asp.net往往会动态生成ID。

我的建议是要么通过已分配给框类中选择,或

<asp:textbox id="txtEventDate" runat="server" cssclass="date-picker" /> 

再申请使用一类选择,而不是一个ID选择

$(".date-picker").datepicker() 

,或者如果JavaScript是在你可以考虑的页面...

$("#<%= txtEventDate.ClientID %>").datepicker() 

或者你可以尝试一个部分ID选择器

$("input[id*=txtEventDate]").datepicker() 

有三种解决方案给你!

+0

类选择器对我来说不起作用,其他2个却没有。 +1 – 2015-12-07 16:28:38

0

如果您尝试在编辑模式下在asp.formview中使用此日期选择器,问题出现在FriendlyURL中,您所做的解决方案找到Here