我在点击链接按钮时向上和向下滑动jquery datepicker时遇到问题。单击该按钮时,按钮的文本将更改,并根据按钮的文本显示或隐藏datepicker。没有任何事情发生,只有链接按钮的名称会很快改变并立即改回。
另一个问题:如果在document.ready上我没有隐藏datepicker,当点击页面上的其他触发器时,它会显示并消失。为什么会这样? 这就是我现在所拥有的:
<script>
$(document).ready(function() {
$($('#datepicker').datepicker({
minDate: new Date('04/26/1985'),
maxDate: "-1Y",
dateFormat: "yy-mm-dd"
})).hide();
});
function clicked() {
if ($('#<%=link_btn.ClientID%>').text() == "Later dates") {
$('#<%=link_btn.ClientID%>').text("Older dates");
$('#datepicker').slideUp();
return false;
}
if ($('#<%=link_btn.ClientID%>').text() == "Older dates") {
$('#<%=link_btn.ClientID%>').text("Later dates");
$('#datepicker').slideDown();
return false;
}
}
答案 0 :(得分:0)
以这种方式隐藏日期选择器将始终隐藏日期选择器。我会这样做:
在标记中:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<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>
<script>
$(document).ready(function () {
$($('#datepicker').datepicker({
minDate: new Date('04/26/1985'),
maxDate: "-1Y",
dateFormat: "yy-mm-dd"
}))
});
function ToggleDate(myvalue) {
if (myvalue == "Later dates") {
$('#datepicker').show().slideUp();
}
else {
$('#datepicker').slideDown();
}
};
</script>
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<input id="datepicker" type="text" />
<asp:LinkButton ID="link_btn" runat="server" OnClick="link_btn_Click">Later dates</asp:LinkButton>
</div>
</form>
</body>
</html>
在代码中:
protected void link_btn_Click(object sender, EventArgs e)
{
string myScript = "ToggleDate('" + link_btn.Text + "');";
Page.ClientScript.RegisterStartupScript(this.GetType(), "RegisterStartupScript", myScript, true);
link_btn.Text = link_btn.Text == "Later dates" ? "Older dates" : "Later dates";
}
希望它有所帮助!