我正在尝试创建一个下拉列表,它将自动在文本字段中输入日期。
填充文本字段很容易,但当我尝试弄清楚如何动态填充这些文本字段时,我不知道从哪里开始,例如“该月的第一天到今天”或“从第一天到今天”今年到今天”。
这是我到目前为止所得到的:
JavaScript
<script>
$(document).ready(function() {
$("#datetype option").filter(function() {
return $(this).val() == $("#datepickstart").val();
return $(this).val() == $("#datepickend").val();
}).attr('selected', true);
$("#datetype").live("change", function() {
$("#datepickstart").val($(this).find("option:selected").attr("value"));
$("#datepickend").val($(this).find("option:selected").attr("value"));
});
});
</script>
html
<select id="datetype" name="datetype">
<option value="">Please select...</option>
<option value="LBD">LBD</option>
<option value="MtD">MtD</option>
<option value="YtD">YtD</option>
</select>
<input type="text" id="datepickstart" name="datepickstart" value="">
<input type="text" id="datepickend" name="datepickend" value="">
最佳答案
要达到预期结果,请使用以下选项
$(document).ready(function() {
$("#datetype option").filter(function() {
return $(this).val() == $("#datepickstart").val();
return $(this).val() == $("#datepickend").val();
}).attr('selected', true);
var d = new Date();
var today = (d.getMonth() + 1) + "/" + d.getDate() + "/" + d.getFullYear();
var fdm = (d.getMonth() + 1) + '/01/' + d.getFullYear();
var fdy = '01/01/' + new Date().getFullYear();
$("#datetype").on("change", function() {
var selectedVal = $(this).find("option:selected").attr("value");
if (selectedVal == 'LBD') {
$("#datepickstart").val(today);
$("#datepickend").val(today);
}
if (selectedVal == 'MtD') {
$("#datepickstart").val(fdm);
$("#datepickend").val(today);
}
if (selectedVal == 'YtD') {
$("#datepickstart").val(fdy);
$("#datepickend").val(today);
}
});
});
http://codepen.io/nagasai/pen/begRax
LBD 将在两个字段中填写今天的日期
MtD 将填写月份的第一个日期,第二个字段将填写今天的日期
YtD 将填写年份的第一个日期,第二个字段将填写今天的日期
关于javascript - 用日期填充 2 个文本框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38021720/