無處不在我使用knockout.js模板創建一個表單,可以複製和刪除。小提琴可以找到here。與jquery ui datepicker Knockout.js工作除了IE瀏覽器
我編輯了腳本,用SE的litle幫助添加一個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(函數(E) { $(「 hoofdletters。 」)VAL(($(「 hoofdletters。」)VAL())toUpperCase())。。。。; });
當我使用唯一名稱:真,每個領域(也複製形式)將得到驗證。但我的$ _POST名稱全部重命名。我想要所有的字段名稱,例如year []而不是ko_unique_1。在刪除uniqueName時工作,但重複的表單不再驗證。
[2]:http://jsfiddle.net/QUxyy/5/
enter code here
刪除「console.log」指令應該使其工作。出於某種原因,IE在控制檯打開時僅接受console.log(F12)。 – gbs
謝謝!如果你添加它作爲答案,我可以接受它。我現在投票贊成。你也知道爲什麼日期選擇器保持打開狀態嗎?而我怎麼可以使用dd-mm-yyyy而不是mm-dd-yyyy? – mat
將console.log更改爲window.console.log使代碼與所有瀏覽器兼容,併爲支持它的用戶保持控制檯日誌記錄 – whosrdaddy