我正在尝试构建一个渐进式表单,但当标准日期选择器收到值时,找不到显示其他表单字段的解决方案。我发现的所有解决方案都涉及日期验证或条件逻辑,这超出了我的要求和理解范围。
我已经成功地揭示了以下元素:检查无线电输入,但有这样的东西可以用于日期输入吗?jQuery也是可以接受的,因为我已经在使用它来限制选择过去的日期。
$(function(){
var dtToday = new Date();
var month = dtToday.getMonth() + 1;
var day = dtToday.getDate();
var year = dtToday.getFullYear();
if(month < 10)
month = '0' + month.toString();
if(day < 10)
day = '0' + day.toString();
var maxDate = year + '-' + month + '-' + day;
$('#date').attr('min', maxDate);
});
.when, .form {display:none;}
input:checked ~ .when {display:block;}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.2/jquery.min.js"></script>
<h4>Are you sending or receiving?</h4>
<input type="radio" id="sender" name="clienttype"><label for="sender">Sending</label>
<input type="radio" id="receiver" name="clienttype"><label for="receiver">Receiving</label>
<div class="when">
<h4>When?</h4>
<input type="date" id="date" name="Date">
</div>
<div class="form">
Extra form fields go here
</div>
您可以尝试jQuerychange()
事件来获取日期更改时的值
$('#date').change(function() {
let date = $(this).val();
console.log(date);
});