在我的编辑视图中,我有一个接受Date
的文本框。jQuery更改事件根本没有触发
使用MVC,当我进入编辑视图时,这些字段已经填入了该记录的信息,这很好。
但是,我想在其中一个字段上设置事件侦听器,特别是接受上述日期的字段。
当我去的页面,我检查源和它看起来像这样该字段:
<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时,更改事件正在正确触发。
我该如何解决这个问题?
任何帮助表示赞赏。
UPDATE
凡DateTimePicker (by eonasdan) jQuery中被初始化:
$(function() {
$('#datetimepicker').datetimepicker({
format: 'MM/DD/YYYY'
});
});
变化事件的细节是在你的项目中的代码,这同菲德尔?我很怀疑。我想你已经使用了一个dateTime选择器插件..让我知道如果我错了 –
JSFiddle演示了代码的工作原理。除非你真的能证明这个问题,否则我看不到我们能做什么。 – David
你是否以编程方式更改了值?请记住,通过代码进行的这种更改不会触发“更改”事件!只有在手动更改字段时才会触发该事件... – eisbehr