我正在创建一个web控件,我想在这个控件上使用jquery日期选择器,我尝试了以下的东西: 1)。在web控件中应用所有必需的jquery代码(但它对我不起作用。) 2)。在我调用该网页控件的页面中应用所有必需的jquery代码(但它对我不起作用。)
请帮助我,
实际上,我的目的是: 我想创建一个搜索的通用模块,我将只传递它自动工作的表名,我到目前为止完成的是:
1)。绑定下拉列表中的所有列 现在我想要做的是:如果列类型是DateTime,那么它将显示带有jquery日历的文本框。
请帮我解决这个问题,我的代码是:
<table>
<tr>
<td>
<asp:DropDownList ID="drpColumnName" Width="150px" runat="server" AutoPostBack="true"
OnSelectedIndexChanged="drpColumnName_SelectedIndexChanged">
</asp:DropDownList>
</td>
<td>
<asp:DropDownList ID="drpOperation" Width="150px" runat="server">
</asp:DropDownList>
</td>
<td>
<asp:DropDownList ID="drpCondition" Width="150px" runat="server">
<asp:ListItem Text="Or" Selected="True" Value="0"></asp:ListItem>
<asp:ListItem Text="And" Value="1"></asp:ListItem>
</asp:DropDownList>
</td>
<td>
<asp:TextBox ID="txtSearchText" runat="server" Width="150px"></asp:TextBox>
<asp:TextBox ID="txtDateSearch" CssClass="myClass" runat="server" Width="150px"></asp:TextBox>
</td>
<td>
<asp:Button ID="btnAddConditionToSearch" runat="server" Text="AddToSearch" OnClick="btnAddConditionToSearch_Click" />
</td>
</tr>
<tr>
<td colspan="5">
</td>
</tr>
</table>
Page的代码是:
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<div>
<Search:ctrlSearch ID="cntrlSearch" runat="server" />
</div>
</form>
Jquery代码是:
<script type="text/javascript">
$(document).ready(function () {
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_initializeRequest(InitializeRequest);
prm.add_endRequest(EndRequest);
// Place here the first init of the DatePicker
$('.myclass').datepicker();
});
function InitializeRequest(sender, args) { }
function EndRequest(sender, args) {
// after update occur on UpdatePanel re-init the DatePicker
$('.myclass').datepicker();
}
请帮助我,
答案 0 :(得分:2)
通过类选择器找到您的日期选择器。这比尝试定位ID要容易得多。如果您将控件夹在更新面板中,则有两次初始化datepicker两次。执行此操作
<script type="text/javascript">
$(document).ready(function () {
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_initializeRequest(InitializeRequest);
prm.add_endRequest(EndRequest);
// Place here the first init of the DatePicker
$('.myclass').datepicker();
});
function InitializeRequest(sender, args) { }
function EndRequest(sender, args) {
// after update occur on UpdatePanel re-init the DatePicker
$('.myclass').datepicker();
}
</script>
Markup`
<asp:TextBox ID="txtDateSearch" CssClass="myClass" runat="server" Width="150px"></asp:TextBox>
查看演示文件here
答案 1 :(得分:1)
像这样检查
$("#<%=txtSearchText.ClientID%>").datepicker();
答案 2 :(得分:0)
我认为你的问题是因为asp.net会更改名称和嵌入在Controls&amp ;;中的元素的ID。母版等。
打开页面源,找到控件并仔细检查ID。
或者作为替代方案,为元素添加一个css类,并使用jQuery查找而不是ID。
JA
答案 3 :(得分:0)
访问此页面jquery-ui-datepicker - &gt;这是ui代码。将此代码块保存为js文件。然后在你的aspx页面上找到它。
<script src="js/jquery.ui.datepicker-tr.js" type="text/javascript"></script> like this.
$(document).ready(function () {
$('#<%=txtBirthday.ClientID%>').datepicker({
changeMonth: true,
changeYear: true,
yearRange: "-100:-17",
defaultDate: new Date(1980, 01, 01)
});
});
以下是示例代码。
答案 4 :(得分:0)
<asp:Label ID="Label1" runat="server" Text="From"></asp:Label>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Label ID="Label2" runat="server" Text="To"></asp:Label>
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css">
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
<link rel="stylesheet" href="/resources/demos/style.css">
<script>
$(function() {
$( "#TextBox1" ).datepicker();
});
$(function() {
$( "#TextBox2" ).datepicker();
});
</script>