我一直在寻找一个可以处理日期和时间的体面jQuery插件.核心UI DatePicker很棒,但不幸的是我需要能够花时间.
我发现有几个黑客可以让DatePicker与时俱进,但它们看起来都非常优雅,Google并没有发现任何好的东西.
是否有一个好的jQuery插件,用于在具有可用界面的单个UI控件中选择日期和时间?
我有一个JS代码,当你更改字段时,它会调用一个搜索例程.问题是,当Datepicker更新输入字段时,我找不到任何会触发的jQuery事件.
出于某种原因,当Datepicker更新字段时,不会调用更改事件.当弹出日历时,它会改变焦点,所以我也不能使用它.有任何想法吗?
我有这个javascript用于自动设置日期过滤器到上个月的第一天和最后一天:
$(document).ready(function () {
$("#DateFrom").datepicker({ dateFormat: 'dd/mm/yy' });
$("#DateTo").datepicker({ dateFormat: 'dd/mm/yy' });
var now = new Date();
var firstDayPrevMonth = new Date(now.getYear(), now.getMonth() - 1, 1);
var firstDayThisMonth = new Date(now.getYear(), now.getMonth(), 1);
var lastDayPrevMonth = new Date(firstDayThisMonth - 1);
$("#DateFrom").datepicker("setDate", firstDayPrevMonth);
$("#DateTo").datepicker("setDate", lastDayPrevMonth);
});
Run Code Online (Sandbox Code Playgroud)
但是now.getYear()返回111而不是预期的2011年.有什么明显的我错过了吗?
--- 主持人注意:今天(7月15日),我注意到有人在这里遇到过这个问题.但是我不确定将这个作为副本关闭是否合适,因为我认为我提供了一个更好的解释.我不确定是否应该编辑其他问题并将其粘贴到那里,但我不太愿意过多地改变别人的问题.---
我有一些奇怪的东西.
我不认为问题取决于您构建的SDK.设备操作系统版本是重要的.
DatePickerDialog在Jelly Bean中被更改了(?),现在只提供了一个Done按钮.以前的版本包括一个取消按钮,这可能会影响用户体验(不一致,以前Android版本的肌肉记忆).
复制:创建一个基本项目.把它放进去onCreate:
DatePickerDialog picker = new DatePickerDialog(
this,
new OnDateSetListener() {
@Override
public void onDateSet(DatePicker v, int y, int m, int d) {
Log.d("Picker", "Set!");
}
},
2012, 6, 15);
picker.show();
Run Code Online (Sandbox Code Playgroud)
预期:在对话框中显示"取消"按钮.
当前:一个取消按钮不会出现.
Dialog会调用它应该调用的侦听器,然后始终调用OnDateSetListener侦听器.取消仍然调用set方法,并设置它调用方法两次.
复制:使用#1代码,但在下面添加代码(您将看到这解决了#1,但只能在视觉上/ UI):
picker.setButton(DialogInterface.BUTTON_NEGATIVE, "Cancel",
new DialogInterface.OnClickListener() {
@Override
public …Run Code Online (Sandbox Code Playgroud) android datepicker android-datepicker android-4.2-jelly-bean
如何将jQuery Datepicker与文本框输入一起使用:
$("#my_txtbox").datepicker({
// options
});
Run Code Online (Sandbox Code Playgroud)
这不允许用户在文本框中输入随机文本.我希望当文本框获得焦点或用户点击它时弹出Datepicker,但我希望文本框忽略使用键盘的任何用户输入(复制和粘贴,或任何其他).我想从Datepicker日历中专门填充文本框.
这可能吗?
jQuery 1.2.6
Datepicker 1.5.2
当我使用DatePicker,jQuery的UI插件时,在现有的.aspx页面中,我得到的错误是:
$("#datepicker").datepicker is not a function
Run Code Online (Sandbox Code Playgroud)
但是,当我将创建并使用datePicker的相同代码复制并粘贴到与aspx页面位于同一目录中的HTML文件时,它可以完美地运行.这让我假设aspx页面中有一些JS文件阻止了datePicker或jQuery的UI JS文件正确加载.
任何人都可以确认我的信念或提供任何关于找到干扰jQuery的UI插件的罪魁祸首的提示吗?
我已经动态创建了文本框,我希望每个文本框能够在点击时显示日历.我使用的代码是:
$(".datepicker_recurring_start" ).datepicker();
Run Code Online (Sandbox Code Playgroud)
哪个只能在第一个文本框上工作,即使我的所有文本框都有一个名为datepicker_recurring_start的类.
非常感谢您的帮助!
我决定使用JQuery UI Datepicker脚本来挑选日期.下面是我的代码的一部分,以及我将其集成到我的PHP页面的方式:
<link type="text/css" href="css/south-street/jquery-ui-1.8.6.custom.css" rel="stylesheet" />
<script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="js/jquery-ui-1.8.6.custom.min.js"></script>
<script type="text/javascript">
$(function(){
// Datepicker
$('#datepicker').datepicker({ dateFormat: 'yy-mm-dd' });
//hover states on the static widgets
$('#dialog_link, ul#icons li').hover(
function() { $(this).addClass('ui-state-hover'); },
function() { $(this).removeClass('ui-state-hover'); }
);
});
</script>
Run Code Online (Sandbox Code Playgroud)
和:
// date picker (embeds JQuery script)
echo '<label for="datepicker">Date: </label>';
echo '<input type="text" name="datepicker" id="datepicker" />';
echo '<div id="datepicker"></div>';
Run Code Online (Sandbox Code Playgroud)
几乎根据JQuery UI说明.
现在我的问题是:如何在文本输入字段中禁用手动输入?我只希望JQuery的日期选择器脚本能够填补文本字段.据我所看到的,脚本目前防止用户进入任何非数字字符到文本字段,但编号的任意组合被允许(因此,如"95460829468"乱码是允许的).
荫做了PhoneGap的应用程序,当IAM试图type="date"如下图所示输入字段,,它显示在iPhone日期选择器如我所料,但它不显示我所提供的占位符.我在SO中发现了同样的问题,但在任何地方都没有解决方案,希望有人可以帮助我.谢谢.
<input placeholder="Date" class="textbox-n" type="date" id="date">
Run Code Online (Sandbox Code Playgroud) datepicker ×10
jquery ×5
javascript ×4
jquery-ui ×3
android ×1
asp.net ×1
cordova ×1
html5 ×1
php ×1
placeholder ×1