jQuery Datepicker不会改变输入值

时间:2014-05-20 08:06:52

标签: javascript jquery datepicker

我使用jquery中的datepicker函数。现在我已经集成了一个内联日历。应该可以在显示的月份中点击一天,然后提交表单或更改网址。我需要将新日期添加到网址,以便我可以跳转到此日期。

但是我的代码不会改变输入的值 - 我不知道为什么。

这是我的代码:

在头部区域:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script type="text/javascript" src="templates/js/bootstrap-datepicker.js"></script>
<script type="text/javascript" src="templates/js/bootstrap-datepicker.de.js"></script>

HTML:

<form method="get" action="index.php">
  <div class="form-group">
    <div class="minicalendar"></div>
      <input class="form-control" type="text" name="submitDate" id="submitDate" />
  </div>
</form>

JS:

$('.minicalendar').datepicker({
    format: "dd.mm.yyyy",
    todayBtn: true,
    language: "de",
    calendarWeeks: true,
    todayHighlight: true,
    onSelect: function(dateText, inst) { 
      $('#submitDate').val(dateText);
   }
});
你知道为什么吗?我现在正在寻找一段时间,但我无法找到有效的解决方案......

感谢。

3 个答案:

答案 0 :(得分:2)

您将日期选择器绑定到div而不是input

<input id="datepicker" />

$('#datepicker').datepicker({
     //...
});

您也无需使用onSelect事件更改输入文本。小部件将自动执行thix。

答案 1 :(得分:0)

$('#submitDate').datepicker({
    format: "dd.mm.yyyy",
    todayBtn: true,
    language: "de",
    calendarWeeks: true,
    todayHighlight: true,
    onSelect: function(dateText, inst) { 
      $('#submitDate').val(dateText);
   }
});

使用它。 Datepicker不会绑定到<div>,它必须是<input>元素。有关更多示例,请查看此link

答案 2 :(得分:0)

以下是来自JQuery UI DatePicker的代码:

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>jQuery UI Datepicker - Default functionality</title>
  <link rel="stylesheet" href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css">
  <script src="//code.jquery.com/jquery-1.10.2.js"></script>
  <script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
  <link rel="stylesheet" href="/resources/demos/style.css">
  <script>
  $(function() {
    $( "#datepicker" ).datepicker();
  });
  </script>
</head>
<body>

<p>Date: <input type="text" id="datepicker"></p>


</body>
</html>

输入id必须与在JQuery中选择的元素相同。