2016-06-18 51 views
0

我在基元素之後添加了一些元素與diffrent ngModels,對一個輸入的任何改變都會影響所有輸入(ng模型是不同的)!!!在angularjs中添加一個接一個的隔離元素

我該如何解決這個問題。

實際上,我做了一個html字符串並編譯它,然後使用.after添加元素。

但是當我添加2個或更多的元素時,任何改變都會影響它們。

控制器:

function makeElement() { 
     var idName = "level" + vm.currentLevel + ""; 
     var idCss = "#" + idName + ""; 
     if (angular.element(idCss).length) { 
      angular.element(idCss).remove(); 
     } 

     setTimeout('', 1000); 
     console.log("getChildren", vm); 

     var htmlStr = angular.element(

      '<div id="'+ idName +'" class="row"> ' + 
       '<div class="col-xs-8"> ' + 
        '<label class="vertical">{{vm.dataLevel[vm.currentLevel].Title}}</label> ' + 
        '<input type="text" id="level-' + vm.currentLevel + '-code" class="k-textbox quarter-width ltr" value="{{vm.dataLevel[vm.currentLevel].item.Code}}" disabled /> ' + 
        '<select id="data-level-' + vm.currentLevel + '" class="three-quarter-width" ng-hide="vm.isBusy" ' + 
          'kendo-drop-down-list ' + 
          'k-options="vm.dataLevel[vm.currentLevel]" ' + 
          'k-rebind ="vm.dataLevel[vm.currentLevel]"></select> ' + 
        '<span ng-show="vm.isBusy"><i class="fa fa-spinner fa-spin"></i></span> ' + 
       '</div> ' + 
       '<div class="col-xs-4 align-left" ng-show="!vm.isBusy"> ' + 
        '<label class="vertical transparent">1</label> ' + 
        '<a kendo-button ng-click="vm.openActionDialog(1,0)"> ' + 
         '<i class="fa fa-plus fa-fw"></i> ' + 
        '</a> ' + 
        '<a kendo-button data-ng-disabled="!vm.dataLevel[vm.currentLevel].item.Code" ng-click="vm.openActionDialog(2,0,vm.currentLevel0Item)"> ' + 
         '<i class=" fa fa-edit fa-fw"></i> ' + 
        '</a> ' + 
        '<a kendo-button data-ng-disabled="!vm.dataLevel[vm.currentLevel].item.Code" ng-click="vm.openActionDialog(3,0,vm.currentLevel0Item)"> ' + 
         '<i class="fa fa-trash-o fa-fw"></i> ' + 
        '</a> ' + 
        '<a kendo-button ng-click="vm.getData(0,0,true)"> ' + 
         '<i class="fa fa-refresh fa-fw"></i> ' + 
        '</a> ' + 
       '</div> ' + 
      '</div> <br />'); 

     return $compile(htmlStr)($scope); 
    } 
+0

它們綁定到不同的ngModels。 – dfsq

+0

我以前做過,但沒有工作。 – data

+0

然後你可能做錯了。無論如何,沒有代碼是不可能分辨的。 – dfsq

回答

0

,我發現我的錯誤是使用索引數據串的問題。我以前寫過:

'k-options="vm.dataLevel[vm.currentLevel]" ' 

,但現在我的代碼是:

'k-options="vm.dataLevel[' + vm.currentLevel + ']" ' 
相關問題