gpt4 book ai didi

javascript - jQuery Change 事件根本没有触发

转载 作者:行者123 更新时间:2023-11-30 11:50:30 24 4
gpt4 key购买 nike

在我的编辑 View 中,我有一个接受日期的文本框。

使用 MVC,当我转到“编辑 View ”时,字段中已经填入了该记录的信息,这很好。

但是,我想在其中一个字段上设置一个事件监听器,特别是如上所述接受日期的字段。

当我转到该页面时,我检查了源,该字段看起来像这样:

<div class="form-group">
<label class="control-label col-md-2" for="DateEntered">Date Entered:</label>
<div style="width:26.5%" class="col-md-10">
<div id="datetimepicker" class="input-group date">
<input class="form-control text-box single-line" id="DateEnteredPhase" name="DateEntered" type="datetime" value="09/21/2016" />
<span class="field-validation-valid text-danger" data-valmsg-for="DateEntered" data-valmsg-replace="true"></span>
<span class="input-group-addon">
<span class="glyphicon glyphicon-calendar"></span>
</span>
</div>
</div>
</div>

请注意值是 "09/21/2016" 一开始是正确的。

这是我的 jQuery:

$(document).ready(function () {
$(function () {
$('#DateEnteredPhase').change(function () {
var dateString = $('#DateEnteredPhase').val();
alert(dateString);
});
});
});

现在,我将该文本框中的日期值更改为 "09/22/2016",并且更改事件未触发。此外,当我更改日期之后检查源时,该值仍然显示"09/21/2016" 而不是"09/22/2016".

当我将其插入 JSFiddle 时, 更改事件正确触发。

我该如何解决这个问题?

感谢任何帮助。

更新

哪里DateTimePicker (by eonasdan)在 jQuery 中初始化:

$(function () {
$('#datetimepicker').datetimepicker({
format: 'MM/DD/YYYY'
});
});

最佳答案

问题:应用插件后,用户只需通过 UI 上显示的日历更改日期,插件将以编程方式更改日期,这不会触发你的改变事件

解决方案:使用事件处理程序中内置的插件来捕获更改事件,然后执行您的代码。所以下面的代码必须工作。这是来自 Plugin Documentation 的更改事件详细信息

$(function () {
$('#datetimepicker').datetimepicker({
format: 'MM/DD/YYYY'
});

//add change event listner that plugin supports
$('#datetimepicker').on('dp.change',function(e){
alert(e.date);
})

});

关于javascript - jQuery Change 事件根本没有触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39619111/

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