Я использовал шаблон knockout.js для создания формы, которая может быть дублирована и удалена. Скрипку можно найти здесь.
Я редактировал script с помощью litle help из SE, чтобы добавить jquery-ui datepicker. Краткую версию скрипки можно найти здесь [здесь] [2]. Пока все хорошо, но при тестировании я узнал, что все работает в любом браузере, кроме IExplorer (различные версии).
Проблема в этой конкретной части, но я не знаю, где.
script type='text/javascript'>//<![CDATA[
ko.bindingHandlers.datepicker = {
init: function (element, valueAccessor, allBindingsAccessor) {
var options = allBindingsAccessor().datepickerOptions || {};
console.log("datepicker");
$(element).datepicker(options);
//handle the field changing
ko.utils.registerEventHandler(element, "change", function () {
var observable = valueAccessor();
observable($(element).datepicker("getDate"));
});
//handle disposal (if KO removes by the template binding)
ko.utils.domNodeDisposal.addDisposeCallback(element, function () {
$(element).datepicker("destroy");
});
}
};
И теперь мы на нем. Датчик даты не закрывается, когда вы выходите за пределы поля. Это происходит в любом браузере.
Дополнительные вопросы
-
Я использую это (и многие другие) для автокоррекции поля. В этом случае введите верхний регистр ввода. Это отлично работает в первой форме. Но не в каких-либо повторяющихся формах.
$( "hoofdletters" ). KeyUp (функция (е) { $ ( "Hoofdletters" ) Вал (($ ( "hoofdletters".) Вал()) toUpperCase()..). });
-
Когда я использую uniqueName: true, каждое поле (также дублированные формы) будет проверено. Но мои имена $_POST переименованы. Мне бы хотелось, чтобы имена полей исходного поля, например year [], вместо ko_unique_1. Работает при удалении uniqueName, но затем дублированные формы больше не проверяются.
[2]: http://jsfiddle.net/QUxyy/5/
enter code here