这是我的日期选择器的JS。
<script type="text/javascript">
$(document).ready(function () {
$(function () {
$("#txtage").datepicker();
});
});
</script>
这是我的asp服务器端控件。
<asp:TextBox ID="txtage" runat="server" ReadOnly="true"></asp:TextBox>
我希望当用户到达此文本框时,应打开一个日历,他们可以从中选择年龄,该日期应显示在此文本框中。
请告诉我该怎么做?
答案 0 :(得分:3)
你有几个问题。您的ID不匹配。您在一个地方使用txtage
,在另一个地方使用txtcity
。这是复制粘贴错误吗?
如果您使用嵌套的模板化控件(或母版页),则客户端上的ID可能与服务器端的ID不同。您可以更改客户端ID的生成方式,如下所示:
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css" />
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<link rel="stylesheet" href="/resources/demos/style.css" />
<script type="text/javascript">
$(document).ready(function () {
$(function () {
$("#txtage").datepicker();
});
});
</script>
<td><asp:TextBox ID="txtage" runat="server" ClientIdMode="static" /></td>
您还没有显示您的代码,以确保在页面上加载jQuery和jQuery UI。
答案 1 :(得分:1)
我刚检查过,这个完美无缺:
<强> Default.aspx的强>
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="testDatePicker.Default" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css" />
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<link rel="stylesheet" href="/resources/demos/style.css" />
<script src="script.js"></script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox runat="server" ID="myTextBox"></asp:TextBox>
</div>
</form>
</body>
</html>
<强>的script.js 强>
$(function() {
$("#myTextBox").datepicker();
});
我建议您删除ReadOnly
属性,因为datepicker会尝试修改textBox但不太确定。
答案 2 :(得分:0)
只需添加.ClientID
文本框ID,如下所示。
<强> JS 强>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.11.0/themes/smoothness/jquery-ui.css">
<script src="http://code.jquery.com/jquery-1.10.2.js"></script>
<script src="http://code.jquery.com/ui/1.11.0/jquery-ui.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$(function () {
$('#<%=txtage.ClientID%>').datepicker();
});
});
答案 3 :(得分:0)
Asp.Net的属性为TextMode
,该属性会加载一个日历,该日历必须等于"Date"
-TextMode="Date"
。
示例:
<asp:TextBox ID="txtage" TextMode="Date" runat="server" ReadOnly="true"></asp:TextBox>