0

我正在尝试重置表单提交时的日期值(例如:部分填写的日期,如 12/...)(同时保存为草稿表单)。我做了以下事情:

                $(".datepicker").each(function(){
                    if(parseDate($(this).val())==null)
                        {
                            $(this).val('');
                        }
                });

函数是:

               function parseDate(str){
                    var t = str.match(/^(\d{2})\/(\d{2})\/(\d{4})$/);
                    if(t!==null){
                      var d=+t[1], m=+t[2], y=+t[3];
                      var date = new Date(y,m-1,d);
                      if(date.getFullYear()===y && date.getMonth()===m-1){
                        return date;   
                      }
                    }
                    return null;
                }

即使文本字段正在更新,它也不会更新绑定到文本框的 observable 的值。我也尝试了 valueUpdate: 'afterkeydown' 但是,我想,在通过 jquery 更新文本框时,该事件不会被触发。

请帮忙。

4

1 回答 1

0

我找到了答案……我变了

$(this).val('');

$(this).val('').trigger('change');

如中所述

当输入值被 Javascript 更改时更新 observable

于 2013-08-09T11:37:53.967 回答