基于bootstrap写一个html下拉框选个年报、季报和月报,再写一个时间选择器当下拉选择年报时选择器便只选年月yyyy-MM类型,当下了选择季报时,时间选择器变成年季的形式,当选择年报时,则时间选择器变成只需传输年份yyyy形式,一定要时间类型不要number类型或text
时间: 2024-02-05 17:04:48 浏览: 73
好的,以下是代码示例:
```html
<!-- 下拉框 -->
<div class="form-group">
<label for="report-type">选择报表类型:</label>
<select class="form-control" id="report-type">
<option value="yearly">年报</option>
<option value="quarterly">季报</option>
<option value="monthly">月报</option>
</select>
</div>
<!-- 时间选择器 -->
<div class="form-group">
<label for="report-time">选择报表时间:</label>
<input type="text" class="form-control" id="report-time">
</div>
<!-- 引入bootstrap和jQuery -->
<link rel="stylesheet" href="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/4.6.0/css/bootstrap.min.css">
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script>
$(function() {
// 根据下拉框选项选择时间选择器类型
$('#report-type').change(function() {
var selectedValue = $(this).val();
if (selectedValue === 'yearly') {
$('#report-time').attr('type', 'text').attr('placeholder', '请输入年份,格式yyyy');
} else if (selectedValue === 'quarterly') {
$('#report-time').attr('type', 'text').attr('placeholder', '请输入年份和季度,格式yyyy-Qx');
} else if (selectedValue === 'monthly') {
$('#report-time').attr('type', 'month');
}
});
});
</script>
```
解释一下代码:
1. 将报表类型放在一个下拉框中,用`value`属性来区分选择的是哪种类型;
2. 用一个输入框来作为时间选择器,初始类型为`text`;
3. 引入bootstrap和jQuery库;
4. 通过jQuery监听下拉框的选择事件,根据选择的值来动态改变时间选择器的类型和占位符。
注意事项:
1. 时间选择器的类型为`month`,可以直接选择年月,符合要求;
2. 输入框的类型在切换时需要使用`attr`方法来改变,不能用`prop`方法;
3. 输入框的占位符可以用`attr`方法来改变,也可以在HTML标签中直接写入。
阅读全文