我们在写HTML时,有时候要用到输入日期的文本框,比如:注册信息时,这时我们输入日期大多需要手动输入,这样显得很不方便,并且传到后台时有时候格式不对,有没有控件来让输入日期更方便呢?
在这里我向大家介绍一个工具,它可以帮助我们很方便的完成输入日期,并可以自定义格式
The jQuery Plugin Registry
这个网站有许多的jquery 插件我们的日期插件就在其中

  • 我们搜索 jQuery UI Datepicker

jquery 快捷键监控 jquery控件_控件

  • 进去选择Try a Demo 让我们先看看模版

    进去之后我们在示例上点击文本框,我们会发现出现了日期选择框,点击之后结果为:

    示例程序下面就是代码:
<!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.11.4/themes/smoothness/jquery-ui.css">
  <script src="//code.jquery.com/jquery-1.10.2.js"></script>
  <script src="//code.jquery.com/ui/1.11.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>

其中一下几行就是所要导入的库文件

<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
  <script src="//code.jquery.com/jquery-1.10.2.js"></script>
  <script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
  <link rel="stylesheet" href="/resources/demos/style.css">

我们在javaweb开发中一般输入日期格式为 yyyy-mm-dd

在日期控件上怎么做呢?

jquery 快捷键监控 jquery控件_html_02


选择标注的链接,示例程序就变成了可以自定义格式的代码了,以下是yyyy-mm-dd 格式的

jquery 快捷键监控 jquery控件_jquery_03

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>jQuery UI Datepicker - Format date</title>
  <link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
  <script src="//code.jquery.com/jquery-1.10.2.js"></script>
  <script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
  <link rel="stylesheet" href="/resources/demos/style.css">
  <script>
  $(function() {
    $( "#datepicker" ).datepicker();
    $( "#format" ).change(function() {
      $( "#datepicker" ).datepicker( "option", "dateFormat", $( this ).val() );
    });
  });
  </script>
</head>
<body>

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

<p>Format options:<br>
  <select id="format">
    <option value="mm/dd/yy">Default - mm/dd/yy</option>
    <option value="yy-mm-dd">ISO 8601 - yy-mm-dd</option>
    <option value="d M, y">Short - d M, y</option>
    <option value="d MM, y">Medium - d MM, y</option>
    <option value="DD, d MM, yy">Full - DD, d MM, yy</option>
    <option value="'day' d 'of' MM 'in the year' yy">With text - 'day' d 'of' MM 'in the year' yy</option>
  </select>
</p>


</body>
</html>

在以下代码中我们看到$( “#datepicker” ).datepicker();函数出现两次,那么第一次的能不能去除呢?

$(function() {
    $( "#datepicker" ).datepicker();
    $( "#format" ).change(function() {
      $( "#datepicker" ).datepicker( "option", "dateFormat", $( this ).val() );
    });
  });

经过实验我们发现去过去除第一个的话,整个日期控件就不起作用了,
那是因为option参数必须在$( “#datepicker” ).datepicker();调用后才起作用
如果我们不使用option参数我们可以使用以下方式设置格式

<script type="text/javascript">
$(function(){
     $( "#date" ).datepicker({
         dateFormat: "yy-mm-dd"
             });
});
  </script>

我们同样可以一同样的方式设置语言:

jquery 快捷键监控 jquery控件_控件_04


我们需要加入以下语言文件以供使用

<script src="datepicker-ar.js"></script>
  <script src="datepicker-fr.js"></script>
  <script src="datepicker-he.js"></script>
  <script src="datepicker-zh-TW.js"></script>

当选择语言为中文时:

界面显示的文字就变成了汉字

jquery 快捷键监控 jquery控件_css_05

语言和格式我们分别会使用了,那我们把它们整合到一块代码该怎么写呢?
很简单 :

<link rel="stylesheet" href="../common/jquery_date/jquery-ui.css">
  <script src="../common/bs/js/jquery.min.js"></script>
  <script src="../common/jquery_date/jquery-ui.js"></script>
  <link rel="stylesheet" href="/resources/demos/style.css">
  <script src="../common/jquery_date/datepicker-zh-CN.js"></script>
  <script>
  $(function() {
    $("#datepicker").datepicker();
      //option 是要datepicker方法已经被调用一次完成初始化后才可以使用的
    $( "#datepicker" ).datepicker("option", "dateFormat","yy-mm-dd", 
                  $.datepicker.regional[ "zh-CN" ] );

  });


  </script>

效果如图:

jquery 快捷键监控 jquery控件_jquery向控制器传参数_06