JQuery не находит DOM-элементы при использовании Durandal's compose
Недавно я перенес проект своей компании в Durandal, используя Knockout и JQuery. Непосредственно к проблеме: мне нужно инициализировать средство выбора даты JQuery UI, используя два ввода HTML. JQuery, однако, не может найти входы, когда я делаю это:
Посмотреть:
<div data-bind="if: !CurrentUser()">
<h1 data-bind="html: DisplayName"></h1>
<div data-bind="compose: 'users/_UsersList.html'"></div>
</div>
<div data-bind="with: CurrentUser(), visible: CurrentUser()">
<h1>User detail</h1>
<div data-bind="compose: 'users/_UserDetail.html'"></div>
</div>
viewmodel - функция SelectUser () вызывается, когда пользователь выбирается в первом div, затем загружается второй div, а также users / _UserDetail.html:
users.SelectUser = function (user) {
users.CurrentUser(user);
/* ... */
$(function () {
$("#datepickerFrom").datetimepicker({
dateFormat: "d. m. yy",
timeFormat: "HH:mm:ss",
defaultDate: null
});
$("#datepickerTo").datetimepicker({
dateFormat: "d. m. yy",
timeFormat: "HH:mm:ss"
});
});
}
Важная часть _UserDetail.html
<div class="control-group">
<label class="control-label">Active from</label>
<div class="controls">
<input type="text" data-bind="value: ActiveFrom" id="datepickerFrom" />
</div>
</div>
<div class="control-group">
<label class="control-label">Active to</label>
<div class="controls">
<input type="text" data-bind="value: ActiveTo" id="datepickerTo" />
</div>
</div>
Тогда два HTML-ввода оказываются неопределенными. Если я изменюdiv
сcompose
Привязка к фактическому содержимому users / _UserDetail.html, она работает просто отлично, но затем представление быстро превращается в беспорядок - HTML-файл не совсем маленький. Если бы кто-то мог указать мне правильное направление, я был бы благодарен. Спасибо!