
jquery datetimepicker 插件是前端开发中常用的日期时间选择工具,它能将普通的文本输入框转换为功能丰富的日期时间选择器。其基本初始化过程通常涉及选择器绑定和配置选项,例如设置日期格式:
$(function () {
$('#reservationdate').datetimepicker({
format: 'L', // 设置日期格式,例如 'L' 通常代表本地化短日期格式
});
});上述代码片段成功地将 ID 为 reservationdate 的元素初始化为日期时间选择器,并指定了显示格式。然而,仅仅初始化并不能直接获取用户在选择器中选定的日期时间值。为了在应用程序中利用这些值,我们需要明确的方法来提取它们。本教程将介绍两种核心的获取值策略。
当您需要在特定时刻(例如用户点击“保存”按钮、提交表单或执行其他操作时)获取日期时间选择器当前选定的值时,getValue 方法是理想的选择。此方法允许您按需查询选择器的状态。
对于 xdsoft.net 版本的 jQuery Datetimepicker 插件,可以通过直接调用 datetimepicker 方法并传入 'getValue' 字符串来获取值。该方法通常返回一个 JavaScript Date 对象,代表了当前选定的日期和时间。
// 假设 datetimepicker 已经初始化
var selectedDate = $('#reservationdate').datetimepicker('getValue');以下示例演示了如何结合一个按钮点击事件来获取并显示选定的日期:
<div class="form-group">
<label>日期:</label>
<div class="input-group date" id="reservationdate" data-target-input="nearest">
<input type="text" class="form-control datetimepicker-input" data-target="#reservationdate" />
<div class="input-group-append" data-target="#reservationdate" data-toggle="datetimepicker">
<div class="input-group-text"><i class="fa fa-calendar"></i></div>
</div>
</div>
</div>
<button id="getDateTimeBtn" class="btn btn-primary mt-2">获取选定日期</button>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script>
<!-- 假设您使用的是 xdsoft.net datetimepicker -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-datetimepicker/2.5.20/jquery.datetimepicker.full.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jquery-datetimepicker/2.5.20/jquery.datetimepicker.min.css" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css">
<script>
$(function () {
// 初始化 datetimepicker
$('#reservationdate').datetimepicker({
format: 'L', // 例如:'MM/DD/YYYY' 或 'YYYY-MM-DD'
timepicker: false // 如果只需要日期
});
// 绑定按钮点击事件
$('#getDateTimeBtn').on('click', function() {
var selectedDate = $('#reservationdate').datetimepicker('getValue');
if (selectedDate instanceof Date && !isNaN(selectedDate)) {
// selectedDate 是一个有效的 Date 对象
alert("选中的日期 (Date 对象): " + selectedDate.toLocaleDateString());
console.log("选中的日期 (Date 对象):", selectedDate);
} else {
// 如果没有选择日期,或者 getValue 返回 null/undefined/invalid Date
alert("请选择一个日期。");
}
});
});
</script>当您需要实时响应日期时间选择器值的变化时,例如即时更新其他页面元素、进行动态验证或触发后续操作,onChangeDateTime 事件回调函数是最佳选择。
onChangeDateTime 是 datetimepicker 初始化选项中的一个回调函数。它会在用户每次更改日期或时间时被触发。此回调函数接收两个参数:dp(datetimepicker 实例对象)和 $input(绑定 datetimepicker 的 jQuery 输入框元素)。
$('#reservationdate').datetimepicker({
format: 'L',
onChangeDateTime: function(dp, $input){
// 在这里处理日期时间变化
}
});<div class="form-group">
<label>日期:</label>
<div class="input-group date" id="reservationdate_onchange" data-target-input="nearest">
<input type="text" class="form-control datetimepicker-input" data-target="#reservationdate_onchange" />
<div class="input-group-append" data-target="#reservationdate_onchange" data-toggle="datetimepicker">
<div class="input-group-text"><i class="fa fa-calendar"></i></div>
</div>
</div>
</div>
<p class="mt-2">当前选定日期:<span id="displaySelectedDate">未选择</span></p>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-datetimepicker/2.5.20/jquery.datetimepicker.full.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jquery-datetimepicker/2.5.20/jquery.datetimepicker.min.css" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css">
<script>
$(function () {
$('#reservationdate_onchange').datetimepicker({
format: 'L', // 例如:'MM/DD/YYYY'
timepicker: false,
onChangeDateTime: function(dp, $input){
// dp: datetimepicker 实例对象
// $input: 绑定 datetimepicker 的 jQuery 输入框元素
var selectedString = $input.val(); // 获取输入框中格式化后的字符串值
var selectedDateObject = dp.getValue(); // 获取 Date 对象
console.log("输入框字符串值:", selectedString);
console.log("Date 对象值:", selectedDateObject);
// 更新页面显示
if (selectedString) {
$('#displaySelectedDate').text(selectedString);
} else {
$('#displaySelectedDate').text("未选择");
}
// 可以在这里执行其他逻辑,例如进行验证或触发API调用
// alert("日期已更新为: " + selectedString);
}
});
});
</script>在选择获取日期时间值的方法时,请考虑以下几点:
掌握从 jQuery Datetimepicker 中获取值的方法是高效开发的关键。通过 getValue API 方法,您可以在特定事件点按需获取日期时间值,适用于表单提交或按钮点击等场景。而 onChangeDateTime 事件则提供了实时监听和响应日期时间变化的能力,适用于需要即时反馈和动态更新的交互。根据您的具体业务需求和用户体验目标,选择最合适的策略,将使您的日期时间选择器功能更加强大和灵活。
以上就是jQuery Datetimepicker 值获取教程:两种核心方法详解的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号