我用了一个knockout.js templatescript创建可被复制和删除的形式。 小提琴可以发现在这里 。
我与SE利特尔帮助添加一个jQuery UI的日期选择器editted脚本。 小提琴的短版可以[点击这里] [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(函数(E){$(“ hoofdletters。 ”)VAL(($(“ hoofdletters。”)VAL())toUpperCase());。。。})。
当我使用uniqueName:真正的,每场(也复制形式)将得到验证。 但我的$ _ POST名字都被重命名。 我想记事的原始字段名称,例如一年[]而不是ko_unique_1。 删除uniqueName的时候,但随后将复制的形式不要再验证工作。
[2]: http://jsfiddle.net/QUxyy/5/
enter code here