淘先锋技术网

首页 1 2 3 4 5 6 7
在需要用户输入年月信息时,网页中常见的做法是用下拉框或者日期选择器。但是有时候我们需要更加个性化的年月选择器,那么Javascript就成了我们的救星。 首先,我们需要明确一点:Javascript并没有自带的年月选择器,需要我们自己编写代码实现。接下来,我们就来介绍几种常见的实现方式。 第一种方式是利用HTML5中的date类型,但是需要注意的是该方法的兼容性并不完美。代码如下:
<label for="date1">请选择日期:</label>
<input type="date" id="date1">
<script>
document.getElementById("date1").addEventListener("change", function() {
console.log(this.value);
});
</script>
我们通过给日期输入框绑定change事件来获取用户选择的日期,从而达到选择年月的目的。但是需要注意的是,date类型需要浏览器的支持。 第二种方式是自己编写代码并利用文本框来模拟年月选择器,这也是最为常见的方式。代码如下:
<div>
<label for="year_input">请选择年份:</label>
<input type="text" id="year_input">
</div>
<div>
<label for="month_input">请选择月份:</label>
<input type="text" id="month_input">
</div>
<script>
var year_input = document.getElementById("year_input");
var month_input = document.getElementById("month_input");
// 创建年份选择器
for (var y = 1990; y <= 2100; y++) {
var option = document.createElement("option");
option.value = y;
option.text = y;
year_input.add(option);
}
// 创建月份选择器
for (var m = 1; m <= 12; m++) {
var option = document.createElement("option");
option.value = m;
option.text = m;
month_input.add(option);
}
// 选择年份和月份后的回调函数
function onInputChanged() {
var year = year_input.value;
var month = month_input.value;
alert("您选择了" + year + "年" + month + "月");
}
year_input.addEventListener("change", onInputChanged);
month_input.addEventListener("change", onInputChanged);
</script>
通过自己编写代码,我们可以用两个文本框来模拟出年月选择器,并且可以灵活控制相关属性来满足个性化需求。 第三种方式是利用第三方开源库,如jQueryUI中的datepick。代码如下:
<div>
<label for="datepicker">请选择日期:</label>
<input type="text" id="datepicker">
</div>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.css">
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
<script>
$(function() {
$("#datepicker").datepicker({
dateFormat: "yy年mm月",
changeMonth: true,
changeYear: true,
yearRange: "1950:2050",
onSelect: function(dateText) {
alert("您选择了" + dateText);
}
});
});
</script>
通过引用jQueryUI中的datepick,我们可以快速实现一个个性化的日期选择器,且不需要在代码中进行繁琐的设置。 总的来说,Javascript的年月选择器实现方式多种多样,每种方式都有其适用场景和注意事项。在实际开发过程中,我们应该根据需求选择最为适合的方式来获取用户输入的年月信息,以达到最好的用户体验效果。