我喜欢jQueryUI datepicker可以自定义,允许按钮触发显示datepicker,但不幸的是,它不允许你自定义自己的标记.
如果我有这样的标记:
<span>
<input type="text" class="datepicker" />
</span>
<span>
<button class="datepicker-trigger">Open</button>
</span>
Run Code Online (Sandbox Code Playgroud)
为了在单击按钮时显示日期选择器,我必须实现以下代码:
$('.datepicker').datepicker({
showOn:'none'
});
$('.datepicker-trigger').click( function() {
$('.datepicker').datepicker('show');
});
Run Code Online (Sandbox Code Playgroud)
这是上面代码的jsFiddle:http://jsfiddle.net/P9Qmu/
这一切都很好,但我真正想做的是传递datepicker函数一个额外的参数,该参数指定一个对象或选择器,指示应该触发显示的元素.
例如,我真的希望能够这样做:
$('.datepicker').datepicker({
showOn:'none',
trigger:'.datepicker-trigger'
});
Run Code Online (Sandbox Code Playgroud)
我知道如何扩展jQuery来添加方法和创建插件,但我不确定如何(或者是否可能)修改现有函数中允许的参数.
有谁知道我可以如何扩展$.datepicker以实现我想要做的事情或者至少指出我正确的方向?任何帮助将非常感激.
我在页面上有jQuery datepicker,需要允许手动输入日期,但还需要验证日期不超过一天.选择器控件已通过maxDate限制,但当手动输入日期时,他们可以提前一天输入日期.一个人(我)如何阻止它?这是我到目前为止:
$(".datepicker").attr("placeholder", "mm-dd-yyyy").datepicker({
showOn: "button",
maxDate: "+1",
showOtherMonths: true
});
Run Code Online (Sandbox Code Playgroud)