У меня есть веб-страница, которая имеет повторяющийся частичный вид, который привязан к шаблону нокаута. Внутри этой точки зрения у меня есть дампикер. Это представление можно добавить любое количество раз при нажатии кнопки. Выбор даты в разделе 1, устанавливает minDate datepicker в разделе 2 и так далее. Каждый раздел имеет свою собственную модель представления нокаута, которая имеет наблюдаемый minDate. Прикрепленный к этому наблюдаемому, у меня есть специальная привязка с обработчиком обновления - я использую это для обновления minDate элемента, когда раздел добавлен или обновлен.Не удается установить minDate динамически добавленного элемента
У меня есть код, работающий до такой степени, что я могу обновить значение datepicker в любом разделе, и в следующем разделе будет корректно обновлен его minDate. Вот код для моего пользовательского связывания:
ko.bindingHandlers.minDate = {
update: function (element, valueAccessor, allBindings, viewModel) {
var value = valueAccessor();
var valueUnwrapped = ko.unwrap(value);
var oneDay = 1000 * 60 * 60 * 24;
var diff = Math.ceil((new Date(valueUnwrapped) - new Date())/oneDay);
$(element).datepicker('option', 'minDate', diff + 1);
}
};
Моя проблема заключается в том, что если у меня есть существующие разделы с датами, выбранными и я нажимаю, чтобы добавить новый новый раздел, я могу видеть MinDate моей добавляемого модели представления правильно установлен, но что minDate не устанавливается на моем недавно добавленном элементе datepicker.
Если я пройду через свой код сценария, единственное различие, которое я вижу, это то, что даже мысль в точке, где я нарушаю исполнение, мой частичный вид был визуализирован, а мой $ (элемент) действительно является объектом, но он не имеют атрибут ID. Это единственное различие, которое я вижу между моим рабочим и нерабочим кодом.
Может ли это увидеть как возможную причину моей проблемы с установкой minDate на динамически добавленный элемент?