2016-05-25 16 views
0

Ich habe ein Problem.Ich muss eine bestimmte Zeile aus der Tabellenstruktur meiner App entfernen, indem Sie Angular.js.My verwenden. Der Code befindet sich im folgenden Link.Die erwartete Zeile kann nicht aus Angular.js entfernt werden

code is present here

In dem obigen Code erstellen 3 Zeile für Montag und füllen die erforderlichen Daten alle mittleren Reihe mit - Taste aus jeder verschiedenen row.Delete sollten Sie dort die letzte Zeile der Subkategorie falsch überprüfen angezeigt wird. Das ist mein Problem. Ich brauche, wenn ich eine bestimmte Zeile lösche, die Zeilendaten aus dem Array entfernen sollten und andere Zeile wird konstant mit den ausgewählten Daten bleiben, wie es war. Bitte helfen Sie mir.

Antwort

2

I edited Ihre Plunker: https://plnkr.co/edit/4okaCC?p=preview

Ihr Problem ist in ng-repaet bei der Verwendung von $ index. Wenn Sie die mittlere Zeile löschen, ändert sich der $ Index der dritten Zeile und Sie verweisen auf eine falsche Kategorie. ich Ihre Plunker ändern, um eine Funktion zu verwenden, die Unterkategorien zurückzukehren, hängt von der ausgewählten Kategorie:

$scope.getSubCategoryFor = function(answer) { 
if(!answer.category) { 
    return []; 
} 

    console.log(answer); 
    var result = $filter('filter')(subcategories, {id:answer.category.id}); 
    console.log('result', result); 
    return result; 
} 

und ich verwende diese in html:

<table> 
     <tbody> 
      <tr ng-repeat="answer in d.answers"> 
      <td> 
       <select class="form-control" id="answer_{{$index}}_subcategory" name="answer_{{$index}}_subcategory" ng-model="answer.subcategory" ng-options="sub.name for sub in getSubCategoryFor(answer)"> 
       <option value="">Select Subcategory</option> 
       </select> 
      </td> 
      </tr> 
     </tbody> 
     </table> 

Ich hoffe, das Sie

+0

ja, es wird dazu beitragen, scheint zu funktionieren, aber ich habe auch gelöst, indem ich $ scope.listOfSubCategory [0] .splice (index, 1); 'innerhalb' removeRow' function.its nur für den ersten Tag hinzugefügt habe. Vielen Dank. – subhra

Verwandte Themen