2012-09-27 43 views
0

我正在使用ko綁定我的日期時間選擇器。我從hereko databind with datepicker

得到樣本但是,當用戶輸入無效數據時,該值將重置爲今天的日期。如何避免這種情況? (我需要顯示該字段爲無效。由於它重置,它始終顯示我有效)

回答

1

這不是由於淘汰賽。這是jQuery DatePicker的默認行爲。

輸入無效日期時,$(element).datepicker('getDate')的結果是今天的日期。

查看here解決方案來檢查當前的jQuery DatePicker輸入是否有效。然後在您的自定義綁定中修改ko.utils.registerEventHandler電話,如下所示:

ko.utils.registerEventHandler(element, "change", function() { 

    var observable = valueAccessor(); 

    var valid; 

    /* check validity here */ 

    if(valid) { 
     observable($(element).datepicker("getDate")); 
    } 
    else { 
     /* 
      do something other than jQuery's 'getDate', 
      as it will return today's date 
     */ 
    } 
});