Two-way binding with Vue.js wykorzystaniem elementu <input>
nie działa, gdy jQuery datepicker i/lub timepicker aktualizuje wartość <input>
dwukierunkowy. Wiązanie ma miejsce tylko wtedy, gdy użytkownik wpisze w numerze <input>
.Vue.js i jQuery datepicker/timepicker wiążące
Potrzebuję dwustronnego wiązania, aby się stało, gdy <input>
jest aktualizowany za pomocą datepicker lub timepicker.
Używam Vue.js i jQuery w najprostszy sposób - importując je z mojego pliku html poprzez znaczniki <script src=""></script>
.
To wydanie is known and has solutions, ale w bardziej złożonych sytuacjach niż moje. Mam problem z ustaleniem, jakie rozwiązania znalazłem w moim podstawowym przypadku użycia (tzn. Nie używam niestandardowych dyrektyw, komponentów lub szablonów zdarzeń).
Oto codepen of my working code.
A oto główne części mojego kodu statycznego:
<form>
<input v-model="title" name="title" type="text">
<input v-model="shortDesc" name="shortDesc" type="text">
<input v-model="date" name="date" type="text">
<input v-model="time" name="time" type="text">
</form>
<script>
var elm = new Vue({
el: '#preview',
data: {
title: '',
shortDesc: '',
date: '',
time: ''
}
})
$(function(){
$("input[name=date]").datepicker({
dateFormat: 'DD, MM dd'
});
});
$('input[name=time]').timepicker({'scrollDefault': 'now'});
</script>
Dzięki @saurabh, Twój kod datepicker działa dla mnie! Byłem w stanie dostosować twój kod do rozwiązania podobnego, ale innego problemu z timepicker. Utworzę odpowiedź, która pokazuje oba rozwiązania w tym samym pliku. –
@BrianZ Świetnie, pomógł, Możesz edytować tę odpowiedź, aby ją uzupełnić. – Saurabh
Co jest przyczyną, że bezpośrednie wiązanie nie działa w pierwszej kolejności? – liang