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;
                }

テキストフィールドが更新されていても、テキストボックスにバインドされているオブザーバブルの値は更新されていません。私は valueUpdate: 'afterkeydown' も試しましたが、jquery を介してテキストボックスを更新している間、そのイベントは発生しないと思います。

助けてください。

4

1 に答える 1

0

答えを見つけた....私は変わった

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

で述べたように

入力値がJavascriptによって変更されたときにオブザーバブルを更新します

于 2013-08-09T11:37:53.967 に答える