2017-02-26 40 views
0

看起来像这个代码已经承诺不会在我的代码中工作。我想要做的是我有两个日期选择器。当我点击Date1时,我想禁用本月的所有日期。在选择日期2我想禁用date1的所有以前的日期。我无法理解我在这里错过了什么。请帮忙吗?禁用以前日期的多个日期选择器不起作用

<!doctype html> 
<html lang="en"> 
<head> 
<meta charset="utf-8"> 
<meta name="viewport" content="width=device-width, initial-scale=1"> 
<title>jQuery UI Datepicker - Default functionality</title> 
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css"> 
<link rel="stylesheet" href="/resources/demos/style.css"> 
<script src="https://code.jquery.com/jquery-1.12.4.js"></script> 
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script> 
<script> 
$(function() { 
    $("#datepicker").datepicker(); 
    $("#enddate").datepicker(); 
}); 
</script> 
<script type="text/javascript"> 
$(document).ready(function() {  
    $("#datepicker").datepicker({ 
    minDate: 0, 
    onSelect: function(date) { 
     $("#enddate").datepicker('option', 'minDate', date); 
    } 
    }); 
$("#enddate").datepicker({}); 
</script> 
</head> 
<body> 
<p>Date1: <input type="text" id="datepicker"></p> 
<p>Date2: <input type="text" id="enddate"></p> 
</body> 
</html> 
+0

您不能将一个'minDate'分配给还没有初始化的对象。 – Twisty

+0

为什么你要初始化datepicker两次? – APECE

回答

1

试试这个:

$(document).ready(function() {  
    $("#datepicker").datepicker({ 
    minDate: 0 
    }); 
    $("#enddate").datepicker(); 
    $("#datepicker").datepicker("option", "onSelect", function(date) { 
    $("#enddate").datepicker('option', 'minDate', date); 
    }); 
}); 

或者:

$(document).ready(function() {  
    $("#datepicker").datepicker({ 
    minDate: 0 
    }); 
    $("#enddate").datepicker({ 
    minDate: $("#datepicker").datepicker("getDate"); 
    }); 
}); 

后者我怀疑会更好。

+0

谢谢Twisty我已经解决了这个问题。但我需要另一种解决方案。我想日期格式为dd/mm/yy我试过这段代码:$(“#txtDate”)。val($。datepicker.formatDate('dd M yy',new Date()));但我不明白该把它放在哪里。我是jquery的新手..你能帮我解决吗? –

+0

我希望我的帖子能帮助回答你的问题。如果确实如此,请注册并将其标记为答案。关于你的其他问题,我建议你去搜索一下,因为有这样的例子:http://jqueryui.com/datepicker/#date-formats如果你仍然找不到答案,发布一个新的问题,满的您当前的代码示例。 – Twisty

相关问题