jQuery Datepicker 在选定日期后关闭日期选择器

js

1个回答

写回答

小可爱与你

2025-06-28 10:20

+ 关注

JS
JS

使用jQuery Datepicker插件可以在网页中添加一个日期选择器,方便用户选择日期。在默认情况下,选择日期后选择器不会自动关闭,用户需要手动点击关闭按钮或者点击其他区域来关闭选择器。但是有时候我们希望在用户选择日期后自动关闭选择器,本文将介绍如何实现这个功能。

首先,我们需要引入jQuery库和jQuery Datepicker插件的相关文件。在HTML文件的标签中添加以下代码:

<script src="https://code.jquery.com/jquery-3.6.0.min.JS"></script>

<link rel="stylesheet" class="url" target="_blank" rel="nofollow noreferrer" href="/to/?target=https://code.jquery.com/ui/1.13.0/themes/base/jquery-ui.CSS">

<script src="https://code.jquery.com/ui/1.13.0/jquery-ui.JS"></script>

接下来,我们需要在页面中添加一个输入框作为日期选择器的目标。在HTML文件的标签中添加以下代码:

<input type="text" id="datepicker">

然后,在JavaScript文件中编写代码来初始化日期选择器,并实现选择日期后自动关闭选择器的功能。在JavaScript文件中添加以下代码:

Javascript

$(document).ready(function() {

$("#datepicker").datepicker({

onSelect: function() {

$(this).datepicker("hide");

}

});

});

在上述代码中,我们使用$(document).ready()函数来确保页面加载完成后再执行初始化代码。通过$("#datepicker")选择器选中输入框,并调用.datepicker()方法来初始化日期选择器。在.datepicker()方法的参数中,我们使用onSelect回调函数来设置选择日期后的操作。在回调函数中,我们使用$(this).datepicker("hide")来关闭选择器。

完成上述操作后,保存并刷新页面,你将看到一个日期选择器。当你选择一个日期后,选择器会自动关闭。

案例代码:

html

<!DOCTYPE html>

<html lang="en">

<head>

<Meta charset="UTF-8">

<Meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>关闭日期选择器示例</title>

<script src="https://code.jquery.com/jquery-3.6.0.min.JS"></script>

<link rel="stylesheet" class="url" target="_blank" rel="nofollow noreferrer" href="/to/?target=https://code.jquery.com/ui/1.13.0/themes/base/jquery-ui.CSS">

<script src="https://code.jquery.com/ui/1.13.0/jquery-ui.JS"></script>

</head>

<body>

<h1>关闭日期选择器示例</h1>

<input type="text" id="datepicker">

<script>

$(document).ready(function() {

$("#datepicker").datepicker({

onSelect: function() {

$(this).datepicker("hide");

}

});

});

</script>

</body>

</html>

:

通过以上步骤,我们成功地实现了在选择日期后关闭日期选择器的功能。通过使用jQuery Datepicker插件的onSelect回调函数,我们可以在用户选择日期后执行相应的操作。这一功能可以提升用户体验,使日期选择更加便捷。

举报有用(4)分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号