努力前行

“向向日葵一样向着太阳”

使用 Materialize CSS 框架中的 Form Pickers

person  努力前行    watch_later 2024-09-27 10:07:04
visibility 199    class Pickers    bookmark 专栏

Pickers 是 Materialize CSS 框架中一种非常实用的表单组件,用于选择日期和时间。通过直观的界面,用户可以轻松选择他们所需的日期或时间。本文将详细介绍如何在 Materialize CSS 中使用 Pickers,包括其使用方法、所有属性、可用方法,以及与其他组件结合使用的示例。

1. 什么是 Pickers?

Pickers 主要用于选择日期和时间,它们的主要优点是提高了用户体验,使用户能够通过可视化的方式快速选择所需的日期或时间。Materialize CSS 提供了日期选择器(Date Picker)和时间选择器(Time Picker)两种类型。

2. 引入 Materialize CSS

在使用 Pickers 之前,需要确保在 HTML 文件中引入 Materialize CSS 的样式和 JavaScript 文件。

2.1 引入 CDN 资源

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Materialize Pickers 示例</title>
    <link href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css" rel="stylesheet">
    <style>
        body {
            display: flex;
            justify-content: center;
            align-items: center;
            height: 100vh;
            background-color: #f5f5f5;
        }
    </style>
</head>
<body>

    <!-- 页面内容 -->

    <script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</body>
</html>

3. 日期选择器(Date Picker)的使用

3.1 创建基本的日期选择器

要使用日期选择器,只需在输入字段中添加 class="datepicker",如下所示:

<div class="container">
    <h1 class="header">日期选择器示例</h1>
    <div class="input-field col s12">
        <input type="text" class="datepicker" id="date-picker">
        <label for="date-picker">选择日期</label>
    </div>
</div>

3.2 初始化日期选择器

在页面加载完成后,需要初始化日期选择器:

<script>
    $(document).ready(function() {
        $('.datepicker').datepicker({
            format: 'yyyy-mm-dd',  // 日期格式
            yearRange: [2000, 2030], // 可选择的年份范围
            defaultDate: new Date(), // 默认日期
            setDefaultDate: true,    // 设置默认日期
            i18n: {                  // 国际化设置
                cancel: '取消',
                clear: '清除',
                done: '完成',
                previousMonth: '上月',
                nextMonth: '下月',
                months: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'],
                weekdaysShort: ['日', '一', '二', '三', '四', '五', '六'],
                weekdays: ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六']
            }
        });
    });
</script>

3.3 代码详解

  1. 初始化:使用 jQuery 选择器来初始化日期选择器。
  2. 格式设置format 属性用于指定日期格式。
  3. 年份范围yearRange 属性用于限制用户可以选择的年份。
  4. 默认日期defaultDate 属性设置日期选择器的默认日期。
  5. 国际化:通过 i18n 对象来设置各种语言相关的文本。

4. 时间选择器(Time Picker)的使用

4.1 创建基本的时间选择器

时间选择器的使用方法与日期选择器类似,只需在输入字段中添加 class="timepicker",如下所示:

<div class="container">
    <h1 class="header">时间选择器示例</h1>
    <div class="input-field col s12">
        <input type="text" class="timepicker" id="time-picker">
        <label for="time-picker">选择时间</label>
    </div>
</div>

4.2 初始化时间选择器

在页面加载完成后,同样需要初始化时间选择器:

<script>
    $(document).ready(function() {
        $('.timepicker').timepicker({
            twelveHour: false, // 12小时制,如果设置为true,则为12小时制
            defaultTime: 'now', // 默认时间为现在
            i18n: {
                cancel: '取消',
                done: '完成'
            }
        });
    });
</script>

4.3 代码详解

  1. 初始化:使用 jQuery 选择器来初始化时间选择器。
  2. 12小时制twelveHour 属性用于选择是使用12小时制还是24小时制。
  3. 默认时间defaultTime 属性用于设置时间选择器的默认时间。

5. 结合其他组件使用

5.1 日期和时间选择器结合

可以将日期选择器和时间选择器结合使用,方便用户选择完整的时间信息。例如,可以创建一个包含日期和时间选择器的表单:

<div class="container">
    <h1 class="header">日期和时间选择示例</h1>
    <div class="input-field col s12">
        <input type="text" class="datepicker" id="date-picker">
        <label for="date-picker">选择日期</label>
    </div>
    <div class="input-field col s12">
        <input type="text" class="timepicker" id="time-picker">
        <label for="time-picker">选择时间</label>
    </div>
</div>

<script>
    $(document).ready(function() {
        $('.datepicker').datepicker({
            format: 'yyyy-mm-dd',
            yearRange: [2000, 2030],
            defaultDate: new Date(),
            setDefaultDate: true
        });

        $('.timepicker').timepicker({
            twelveHour: false,
            defaultTime: 'now'
        });
    });
</script>

5.2 表单提交示例

在实际应用中,选择的日期和时间通常会作为表单的一部分进行提交。以下是一个完整的表单提交示例:

<div class="container">
    <h1 class="header">表单提交示例</h1>
    <form id="date-time-form">
        <div class="input-field col s12">
            <input type="text" class="datepicker" id="date-picker">
            <label for="date-picker">选择日期</label>
        </div>
        <div class="input-field col s12">
            <input type="text" class="timepicker" id="time-picker">
            <label for="time-picker">选择时间</label>
        </div>
        <button type="submit" class="btn">提交</button>
    </form>
</div>

<script>
    $(document).ready(function() {
        $('.datepicker').datepicker({
            format: 'yyyy-mm-dd',
            yearRange: [2000, 2030],
            defaultDate: new Date(),
            setDefaultDate: true
        });

        $('.timepicker').timepicker({
            twelveHour: false,
            defaultTime: 'now'
        });

        $('#date-time-form').on('submit', function(event) {
            event.preventDefault();
            var selectedDate = $('#date-picker').val();
            var selectedTime = $('#time-picker').val();
            alert('您选择的日期是:' + selectedDate + ',时间是:' + selectedTime);
        });
    });
</script>

5.3 代码详解

  1. 表单提交:通过 submit 事件监听表单提交,并获取用户选择的日期和时间。
  2. 警告框:提交时,显示用户选择的日期和时间。

6. 总结

在本文中,我们详细介绍了 Materialize CSS 中的 Pickers 组件的使用,包括日期选择器和时间选择器。通过多个示例,展示了如何创建和初始化这些组件,并与其他表单元素结合使用。

Pickers 组件在提升用户交互体验方面具有重要意义,可以帮助用户更快速、直观地选择日期和时间。希望这篇文章能够帮助你更好地理解和使用 Materialize CSS 的 Pickers 组件,从而创建出更灵活和美观的用户界面。

参考资料

通过上述示例和解释,您可以轻松

掌握 Pickers 组件的使用方式,并应用到自己的项目中。希望这能为您带来灵感与帮助!

chat评论区
评论列表
menu