datepicker不使用javascript,jquery在asp.net中显示

时间:2013-10-11 21:08:37

标签: jquery asp.net datepicker

我在点击链接按钮时向上和向下滑动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;
        }
}

1 个答案:

答案 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";
}

希望它有所帮助!