gpt4 book ai didi

jquery - Knockout.js 与 jquery ui datepicker 可以在除 IE 之外的任何地方工作

转载 作者:行者123 更新时间:2023-12-01 01:08:48 28 4
gpt4 key购买 nike

我使用 knockout.js 模板脚本创建了一个可以复制和删除的表单。 fiddle 可以找到 here .

我在 SE 的帮助下编辑了脚本,添加了 jquery-ui 日期选择器。 fiddle 的简短版本可以在[此处][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");
});

}
};

现在我们也正在努力。当您在框外单击时,日期选择器不会关闭。这种情况在任何浏览器中都会发生。

其他问题

  1. 我使用这个(以及许多其他)来自动更正字段。在本例中,输入大写。这在第一种形式上效果很好。但不适用于任何重复的表格。

    $(".hoofdletters").keyup(函数(e){ $(".hoofdletters").val(($(".hoofdletters").val()).toUpperCase());});

  2. 当我使用 uniqueName: true 时,每个字段(也包括重复的表单)都会得到验证。但我的$_POST名称都被重命名了。我想要原始字段名称,例如year[]而不是ko_unique_1。删除 uniqueName 时有效,但重复的表单不再有效。

    [2]:http://jsfiddle.net/QUxyy/5/ 在此处输入代码

最佳答案

  1. 要使代码在 IE 上运行:删除“console.log”指令
  2. 要更改日期格式,您可以定义如下绑定(bind):

    data-bind='datepicker: beschikkingsdatum, datepickerOptions: {dateFormat: "dd/mm/yy"}, uniqueName: true'

关于jquery - Knockout.js 与 jquery ui datepicker 可以在除 IE 之外的任何地方工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13744270/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com