javascript - 日期选择器未使用 Angular JS 进行清理

标签 javascript jquery html angularjs datepicker

提交表单后,我将所有输入字段重置为空白,得到了 HTML。但是,仅日期选择器没有被清理。

HTML 代码

  <div>
                      <form name="profileform" role="form"> 
                          <div class="form-group">
                          <h4 class="mzero">Details</h4>
                          </div>
                          <div class="form-group">                             
                          <input type="text" placeholder="name"  name="name" ng-model="personal.name">                            
                          </div>
                          <div class="form-group input-daterange input-group col-xs-12" id="datepicker">                                  
                          <input value="" class="form-control input-sm" placeholder="dob" name="dob" ng-model="personal.dob">                             
                          </div>
                          <div class="form-group"> 
                          <textarea  rows="2" placeholder="Write about you..." name="description" ng-model="personal.description" ></textarea>
                          </div>
                      </form>
              </div>

 <button type="button" ng-click="createChallenge()">Create</button> 

   </div>
              <script type="text/javascript">
  $(function(){
    $('.input-daterange').datepicker({  
         startDate: "today" 
    }); 
  });

JS代码

$scope.createChallenge = function(){
// persist in db logic 
 resetForm();     
}

 var resetForm = function(){
           $scope.master={};
               $scope.profile= angular.copy($scope.master);     
            $scope.profileform.$setPristine();

                  };

所有输入字段均已重置,但在日期选择器窗口中,先前选择的日期仍然存在。我想澄清这一点。

最佳答案

正如评论者所说,您应该为日期选择器创建一个指令。

    var datePicker = function(){
        return {
            restrict: 'AE',
            link: function(scope, element) {

                element.datepicker({
                    startDate: "today"
                });

            }
        }
    };

angular.module('your_module_name')
    .directive('datePicker', datePicker);

然后在您的 html 中使用此指令

<div class="form-group input-daterange input-group col-xs-12">                                  
  <input date-picker value="" class="form-control input-sm" placeholder="dob" name="dob" ng-model="personal.dob">                             
</div>

编辑

已创建工作示例 plunker .

关于javascript - 日期选择器未使用 Angular JS 进行清理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28879169/

相关文章:

javascript - 完整的日历形式 Arshaw 不适合,它有一个巨大的高度

javascript - 滚动标题修复了 jquery 代码不起作用

javascript - 停止执行 javascript 直到整个周期

html - 字间距问题

html - 当试图链接图中的图像时,没有任何反应?

javascript - 按下按钮后如何访问网页的HTML

javascript - 计算日期的出现次数

javascript - RegEx 结果的 "cannot read property ' 长度 ' of null"

javascript - 正则表达式替换失败,我不明白原因?

javascript - 如何将tr替换为最后一个