2015-04-02 24 views
0

我使用帶有自己指令的角1.3.15版來創建表單元素。當我在Chrome和Firefox上運行此模型時,模型值會更新,但ie10的窗體值不會在模型上更新。Angularjs 1.3.15 ng模型指令不綁定IE,但在Chrome上工作

相同的代碼適用於舊版本的Angular。我試着用1.2.1,它按預期工作。

角1.3.15版本的代碼在這裏http://goo.gl/Qzk5iA

角1.2.1版本的代碼在這裏http://goo.gl/WYE6pG

var myAppModule = angular.module('myApp', []); 
myAppModule.controller("TodoCtrl",function($scope) {  
     $scope.tree = []; 
     $scope.nodeMap = []; 
     $scope.items = [{name:"Sudha",group:"",visibility:"visible",value:{value:"as"}},{name:"Gautam",group:"",visibility:"visible",value:{value:"as"}}]; 
     $scope.foo = function() 
     { 
      for(var i=0;i<$scope.items.length;i++) 
      { 
       var item = $scope.items[i]; 
       console.log(item.name+" "+item.value.value); 
      } 
     } 
    }).directive("ppField",["$compile", function($compile) { 
     return { 
      replace:true, 
      require:'ngModel', 
      scope:{ 
       parameter :'=parameter',   
       ngModel : '=' 
      }, 
      restrict: 'AE', 
      link : function($scope, $element, $attrs) { 

       var field = '<input id=\''+$scope.parameter.name+'\' name=\''+$scope.parameter.name+'\' type="text" ng-model="parameter.value.value" class="form-control input-sm">'; 
       var newInput = angular.element(field);    
       var $e =$compile(newInput)($scope); 
       $element.append($e); 
      } 
     }; 
    }]); 

的HTML是一個簡單的NG-重複與它內部的指令。點擊完成按鈕後,模型值將打印到控制檯。 Chrome按預期工作,但IE顯示初始值。

<!DOCTYPE html> 
<html> 

    <head> 
    <link rel="stylesheet" href="style.css"> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.3.15/angular.js"></script> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> 
    <script src="script.js"></script> 
    </head> 

    <body> 
    <div ng-app="myApp"> 
     <div ng-controller="TodoCtrl"> 
      <button ng-click="foo()">Done</button> 
      <div data-drag-enabled="false"> 
        <div ng-repeat="parameter in items">  
         <label for="{{parameter.name}}" class="col-sm-4 control-label labelBreak" data-ng-click="showTooltip(node)">      
         {{parameter.name}} 
         </label> 
         <div class="col-sm-8 fieldDiv" ng-model="fieldCount"> 
          <pp-field ng-model="parameter.value" parameter="parameter" disabled="disabled"></pp-field> 
         </div> 
        </div> 

      </div> 

     </div> 
    </div> 
    </body> 

</html> 
+0

你確定你不是在兼容模式下運行? – 2015-04-02 20:59:20

+0

@KevinB很確定我不是兼容性視圖。瀏覽器模式:IE10文檔模式:標準 – Kathir 2015-04-02 21:21:21

+0

我檢查了不同版本的Angular 1.3.1。它按預期工作,直到1.3.5。 – Kathir 2015-04-02 23:21:52

回答

1

從HTML刪除禁用=「禁用」,即禁止所有的子元素,如果父母是殘疾人,這大概就是爲什麼綁定不起作用。 Chrome不會像IE一樣禁用。

試試這個

相關問題