gpt4 book ai didi

javascript - 将事件监听器添加到使用日期选择器启动的文本框

转载 作者:行者123 更新时间:2023-12-02 13:52:52 26 4
gpt4 key购买 nike

我有两个文本框,分别带有 start_dateend_date

在使用日期选择器启动后,我无法addEventListener,否则我可以处理文本框上的事件。下面是我的js代码。

document.addEventListener("DOMContentLoaded",function(){
//$("#start_date").datepicker();
$("#end_date").datepicker();
/*$('.d_picker').keydown(function (){
return false;
});*/
var startDate = document.getElementById('start_date');
startDate.addEventListener('change',function (){
/*startDateVal = document.getElementById('start_date').value;
$("#end_date").datepicker("option","minDate",startDateVal);*/
console.log('Element '+this.name+' clicked');
},true);

var endDate = document.getElementById('end_date');
endDate.addEventListener('change',function (){
console.log('Element '+this.name+' clicked');
},true);
});

我在控制台中得到以下输出:

Element start_date clicked

但 end_date 事件永远不会在更改时触发

<html>
<head>
<title>event listeners in javascript</title>
<link type="text/css" rel="stylesheet" href="assets/third_party_libs/jquery/jquery_ui/jquery-ui.css">
</head>
<body>
<table>
<tr>
<td>Start Date</td>
<td><input type="text" id="start_date" name="start_date" class="d_picker" /></td>
</tr>
<tr>
<td>End Date</td>
<td><input type="text" id="end_date" name="end_date" class="d_picker" /></td>
</tr>
</table>
<script src="assets/third_party_libs/jquery/jquery.js"></script>
<script src="assets/third_party_libs/jquery/jquery_ui/jquery-ui.js"></script>
<script type="text/javascript">
document.addEventListener("DOMContentLoaded",function(){
//$("#start_date").datepicker();
$("#end_date").datepicker();
/*$('.d_picker').keydown(function (){
return false;
});*/
var startDate = document.getElementById('start_date');
startDate.addEventListener('change',function (){
/*startDateVal = document.getElementById('start_date').value;
$("#end_date").datepicker("option","minDate",startDateVal);*/
console.log('Element '+this.name+'clicked');
},true);

var endDate = document.getElementById('end_date');
endDate.addEventListener('change',function (){
console.log('Element '+this.name+'clicked');
},true);
});
</script>
</body>
</html>

最佳答案

如果您想要使用 jQuery,那么这是最简单的解决方案 -

 $("#end_date").datepicker({
onSelect: function() {
$(this).change();
}
});

$('#end_date').on('change', function() {
alert('Element ' + this.name + 'clicked');
});

https://plnkr.co/edit/jGwZr88ZeHtKPkruAF8u?p=preview

关于javascript - 将事件监听器添加到使用日期选择器启动的文本框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40895008/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com