从文本链接触发的JQuery UI datepicker

Bra*_*don 2 javascript jquery jquery-ui

我正在尝试设置我的css菜单,以便其中一个文本链接触发一个datepicker calandar打开.我已将所有内容删除至下面的代码.我遇到的问题是下面的代码不起作用,但当我删除ul,li标签时,它开始工作.

我正在使用1.8.0 JQuery和1.8.23 JQuery UI.

<!DOCTYPE html>
<head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
    $("#dp").datepicker({
        onSelect: function(dateText, inst) {
            alert(dateText);
        },
    });

    $("#datep").click(function() {
        $("#dp").datepicker("show");
    });
});
</script>
</head>
<body>
<ul>
    <li><a href="#" id="datep">Test</a><input type="hidden" id="dp" /></li>
</ul>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

我注意到一些奇怪的事情.如果我在ul下移动输入它会起作用,但是在点击几下后会出现错误,但是如果我在该输入下添加空div,那么它将开始正常工作.

任何帮助是极大的赞赏.

And*_*ker 9

所以这是一个错误.您必须在隐藏输入后立即添加块级元素:

HTML:

<ul>
    <li><a href="#" id="datep">Test</a>
        <input type="hidden" id="dp" />
        <div></div>
    </li>
</ul>?
Run Code Online (Sandbox Code Playgroud)

示例: http ://jsfiddle.net/andrewwhitaker/LE2CG/1/