Angularjs 重新加载时重置模式框上的值

Angularjs 重新加载时重置模式框上的值,angularjs,bootstrap-modal,Angularjs,Bootstrap Modal,重新加载时重置模式框上的值 <div class="modal fade" id="detailsModal" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> <div class="modal-dialog"> <div class="modal-content"> <!-- Modal Header --> &

重新加载时重置模式框上的值

<div class="modal fade" id="detailsModal" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
   <div class="modal-dialog">
      <div class="modal-content">
         <!-- Modal Header -->
         <div class="modal-header custom-modal-header">
            <button type="button" class="close" data-dismiss="modal">
            <span aria-hidden="true">&times;</span>
            <span class="sr-only">Close</span>
            </button>
            <h4 class="modal-title" id="myModalLabel">
               Create Job Vaccination
            </h4>
         </div>
         <!-- Modal Body -->
         <form name="vaccjobctrl.vaccineForm" class="form-inline" >
            <div class="modal-body" style="height: 150px">
               <div class="row ">
                  <div class="form-group col-md-12"  ng-class="{ 'has-error' : vaccjobctrl.vaccineForm.screeningType.$invalid && (vaccjobctrl.vaccineForm.screeningType.$dirty || vaccjobctrl.vaccineForm.screeningType.$touched) }">
                     <label for="regId" class="col-md-6">Screening Type:</label>
                     <span class="col-md-6">
                        <select style="width: 100%;"  
                           ng-model="vaccjobctrl.vaccineForm.screeningTypeMast.screeningTypeId" 
                           ng-options="sctype.screeningTypeId as sctype.screeningType for sctype in vaccjobctrl.screeningTypeList"
                           class="form-control field-size ng-pristine ng-invalid ng-invalid-required ng-valid-maxlength ng-touched" name="screeningType"
                           id="screeningType" required>
                           <option value="">--SELECT--</option>
                           <option value="{{sctype.screeningTypeId}}">{{sctype.screeningType}}</option>
                        </select>
                     </span>
                     <div class="col-sm-6 error-color"
                        ng-if="vaccjobctrl.interacted(vaccjobctrl.vaccineForm.screeningType)"
                        ng-messages="vaccjobctrl.vaccineForm.screeningType.$error">
                        <div ng-messages-include="src/common/validation-messages.html"></div>
                     </div>
                  </div>
               </div>

            <!-- Modal Footer -->
            <div class="modal-footer">
               <button type="button" class="btn btn-default" data-dismiss="modal">
               Cancel
               </button>
               <button type="button" class="btn btn-primary-joli"  ng-click="vaccjobctrl.saveJobVaccination(vaccjobctrl.vacc);" ng-disabled="vaccjobctrl.vaccineForm.$invalid" data-dismiss="modal">
               Create Vaccination
               </button>
            </div>
         </form>
      </div>
   </div>
</div>

“选择”框中的值是预先填充的,重新打开“模式”框时,它将显示以前选择的值。如果试图清除选择框边框颜色在重新打开时变为红色。

引导程序3
中,您可以在关闭模式窗口后重置窗体,如下所示:

$('.modal').on('hidden.bs.modal', function(){
    $(this).find('form')[0].reset();
});
当模式被隐藏时,您可以手动重置任何内容

HTML:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css" />
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script>

<button type="button" class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal">
  Launch modal
</button>

<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span>
        </button>
        <h4 class="modal-title" id="myModalLabel">Modal title</h4>
      </div>
      <div class="modal-body">
        <div class='modal-body1'>
          <h3>Close and open, I will be gone!</h3>
        </div>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
      </div>
    </div>
  </div>
</div>
您可以执行以下操作:

$(document).ready(function() {
  $(".modal").on("hidden.bs.modal", function() {
    $(".modal-body1").html("Where did he go?!?!?!");
  });
});
这本书还有更多关于他们的内容

根据需要更新:

如果您想以
angular
的方式执行,请使用
index.html
jquery src上面的angularjs source。您只需在
angularjs
控制器内使用
jquery
函数即可

工作区:

用于在angular中使用document.ready函数

 angular.module('MyApp', [])

.controller('MyCtrl', [function() {
    angular.element(document).ready(function () {
        document.getElementById('msg').innerHTML = 'Hello';
    });
}]);
但是,创建指令是正确的方法。按照链接获取有关在
angularjs
中创建指令执行
jquery
函数的帮助


有没有angular js方法可以做到这一点?通常,当您必须在angular中执行外部脚本(如jquery)时,您必须创建指令。这是正确的做法。解决方法是简单地注入jquery源代码,并将脚本标记中的代码嵌入到该页面。
$(document).ready(function() {
  $(".modal").on("hidden.bs.modal", function() {
    $(".modal-body1").html("Where did he go?!?!?!");
  });
});
 angular.module('MyApp', [])

.controller('MyCtrl', [function() {
    angular.element(document).ready(function () {
        document.getElementById('msg').innerHTML = 'Hello';
    });
}]);