在我的編輯視圖中,我有一個接受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