我的页面上有两个jQueryUI日期选择器.
它们的初始化如下:
jQuery("#departureDate").datepicker({
beforeShow: function() {
getDatesForCalendar("outbound");
},
numberOfMonths: 3,
constrainInput: true,
dateFormat: 'dd/mm/yy',
showButtonPanel: false,
hideIfNoPrevNext: true,
onSelect: function(dateText, inst) { jQuery('#returnDate').datepicker("show"); }
});
jQuery("#returnDate").datepicker({
beforeShow: function() {
getDatesForCalendar("return");
},
numberOfMonths: 3,
constrainInput: true,
dateFormat: 'dd/mm/yy',
showButtonPanel: false,
showOn: "focus",
hideIfNoPrevNext: true,
defaultDate: +1
});
Run Code Online (Sandbox Code Playgroud)
在弹出之前,他们使用getDatesForCalendar()检查哪些日期可用,它们不包含应隐藏或显示日历的代码.
我的问题是,当第一个日历调用第二个日历时(这是onSelect),第二个日历闪烁一秒钟然后消失.这是一个仅限FF/Chrome的问题,它似乎不会影响IE8.
我已经尝试了很多解决方案,包括更改tabindex(现在根本没有),禁用焦点功能上的节目,最后不是手动调用datepicker("show")我尝试调用focus()它与之相关.什么都没有奏效!
任何意见将大大赞赏.
非常感谢,
插口
我创建了一个使用jQuery-UI datepicker的Web表单.选择日期后,对输入日期的文本框的焦点将丢失.
我想让焦点保持在启用datepicker的文本框中,或者移动到我的Web表单上的文本元素.这可能吗?
我让我的日期选择工具完全按照我想要的方式工作,但现在我想让它更适合我的网站.为此,它需要更宽,最好不要更高,有没有办法在不改变CSS的情况下做到这一点?尝试更改样式表是否合理?
我有以下函数在MVC struts应用程序的jsps中调用.这是一个通用的jQuery-UI datepicker设置.
function setUpGenericDate(id) {
var d=new Date();
$("#" + id).datepicker({
duration: 'fast',
showAnim: 'drop',
dateFormat: "dd/mm/yy",
maxDate: '0',
showOn: 'button',
buttonImage: '/img/calendar.gif',
buttonImageOnly: true,
yearRange: '1900:'+d.getFullYear(),
changeMonth: true,
changeYear: true
});
}
Run Code Online (Sandbox Code Playgroud)
我在onLoad body事件上调用了这个函数,如下所示:
<body style="margin-top:10px; margin-left:20px;"
onLoad="setupJQuery();setUpsetUpGenericDate('meetingDate');jButton('btnCancel');jButton('btnUpdate');">
Run Code Online (Sandbox Code Playgroud)
上面,"meetingDate"是表单中输入文本对象的id.
问题是当可视化datepicker年份菜单进行更改时,它不会显示while年.例如,2010年至2012年仅显示201,而2000年至2009年仅显示200.
当用户选择日期时,它会在输入文本上显示全年完成('yyyy').仅在菜单中选择年份时才会出现此问题.会是什么呢?
谢谢你的建议

我想在我的asp.net mvc web应用程序上测试数据纠察队.
1.所以我创建了以下测试模型: -
public class TestClass
{
[DataType(DataType.Date)]
public DateTime D { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
2.我添加了以下脚本: -
$(function () {
$(".datefield").datepicker();
});
Run Code Online (Sandbox Code Playgroud)
3.根据我的观点,我有以下内容: -
@model MvcApplication6.Models.TestClass
@Html.EditorFor(item=>item.D)
Run Code Online (Sandbox Code Playgroud)
现在压延机会显示好,但我有这两个问题: -
1.如果在action方法中,我将数据时间指定为今天的日期,如下所示: -
public ActionResult Index()
{
TestClass t = new TestClass();
t.D = DateTime.Now.Date;
return View(t);
}
Run Code Online (Sandbox Code Playgroud)
然后日历将切换日期和月份,因此6月12日成为12月6日如下: -

2.如果我将dataitme删除为等于今天的日期,我将获得以下默认值: -
01/01/0001
Run Code Online (Sandbox Code Playgroud)
3.如果我指定datetime以允许null,并且我没有指定任何defualt值,我将得到以下异常
[DataType(DataType.Date)]
public DateTime? D { get; set; }
Run Code Online (Sandbox Code Playgroud)
传递到字典中的模型项为null,但此字典需要"System.DateTime"类型的非null模型项.
那么有人可以就导致这三个问题的原因提出建议吗?谢谢
编辑 确定我将我的属性更改为String而不是日期时间,如下所示: -
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]
public string CreateDate { get; …Run Code Online (Sandbox Code Playgroud) 我使用以下代码,但是,20140906当我指定格式时,$ .datepicker.parseDate方法无法解析yyMMdd.如何在日期选择器中解析这种格式?
function setValueDateRange(){
if($("#businessDate").val()!=null && $("#businessDate").val()!='' && $("#businessDate").val()!='undefined'){
var tillDateMin = $.datepicker.parseDate(GLOBAL_DATE_FORMAT, $("#businessDate").val());
tillDateMin.setDate(tillDateMin.getDate()+3);
$("#paymentValueDateBatch").datepicker( "option", "minDate", tillDateMin);
}
}
// GLOBAL_DATE_FORMAT-> yyMMdd
// $("#businessDate").val()->20140906
Run Code Online (Sandbox Code Playgroud) jQuery UI datepicker小部件自动将类ui-state-hover添加到悬停它的日期.但是,如何配置将此类添加到具有类的元素ui-datepicker-current-day和具有类的当前悬停元素之间的每个日期ui-state-hover?
我正在使用Rails的activeadmin并创建一个自定义表单,如下所示:
<%= semantic_form_for [:admin, Client.find(@wedding_cake.client_id), @wedding_cake] do |f| %>
Run Code Online (Sandbox Code Playgroud)
比我想为这样的日期添加输入:
<%= f.input :date, as: :datepicker %>
Run Code Online (Sandbox Code Playgroud)
但是,我从Rails中收到“无法找到日期选择器的输入类”。我已经尝试在我的gem文件中包括jquery日期选择器,但是并没有改变任何东西。我究竟做错了什么?
在页面加载日期选择器上工作正常,但刷新div后不起作用
它给像这样的错误
jquery-ui.js:8633未捕获的TypeError:无法读取未定义错误的属性“设置”
我的代码如下
<!DOCTYPE html>
<html>
<head>
<title>Image Select</title>
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
</head>
<body>
<div class="subscription-container">
<input id="hiddenDate" type="hidden"/>
<button type="button" id="pickDate" class="btn btn-trial">Change shipping date</button>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<script type="text/javascript">
jQuery(document).ready(function(){
jQuery('#hiddenDate').datepicker({
minDate: 0
});
jQuery(document).on('click','#pickDate',function (e) {
// $('#pickDate').click(function (e) {
jQuery('#hiddenDate').datepicker("show");
// e.preventDefault();
});
});
jQuery(document).on('change','#hiddenDate',function(){
jQuery('#hiddenDate').datepicker("hide");
if(confirm("are you sure to reload")==true){
jQuery('.subscription-container').load(window.location.href+" .subscription-container>*","");
}
});
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud) jquery ×6
jquery-ui ×5
javascript ×4
activeadmin ×1
asp.net-mvc ×1
c# ×1
css ×1
datepicker ×1
jsp ×1
uidatepicker ×1