Jestem trochę nowy w angularjs i javascript, więc proszę być uprzejmy, mam dwa dropdown items (Ionic Select), oba z nich przechowuje dane z usługi. Problem polega na tym, że muszę je odfiltrować, aby współpracować, tak jak: jeśli wybiorę firmę z pierwszej listy rozwijanej, tylko powtórzenia w tej firmie powinny być wyświetlane na drugiej liście rozwijanej.Angularjs Filtruj dane z rozwijanym
Próbowałem używać | filter: byID
, jak śledziłem w dokumentacji Angularjs, ale nie sądzę, że jest to właściwy sposób, aby to zrobić, nie wiem.
HTML:
<label class="item item-input item-select"">
<div class="input-label">
Company:
</div>
<select>
<option ng-repeat="x in company">{{x.compname}}</option>
<option selected>Select</option>
</select>
</label>
<div class="list">
<label class="item item-input item-select">
<div class="input-label">
Rep:
</div>
<select>
<option ng-repeat="x in represent">{{x.repname}}</option>
<option selected>Select</option>
</select>
</label>
Javascript:
/*=========================Get All Companies=========================*/
$http.get("http://localhost:15021/Service1.svc/GetAllComp")
.success(function(data) {
var obj = data;
var SComp = [];
angular.forEach(obj, function(index, element) {
angular.forEach(index, function(indexN, elementN) {
SComp.push({compid: indexN.CompID, compname: indexN.CompName});
$scope.company = SComp;
});
});
})
/*=========================Get All Companies=========================*/
/*=========================Get All Reps=========================*/
$http.get("http://localhost:15021/Service1.svc/GetAllReps")
.success(function(data) {
var obj = data;
var SReps = [];
angular.forEach(obj, function(index, element) {
angular.forEach(index, function(indexN, elementN) {
SReps.push({repid: indexN.RepID, repname: indexN.RepName, fkc :indexN.fk_CompID});
$scope.represent = SReps;
});
});
})
/*=========================Get All Reps=========================*/
Czy Twoje rozwiązanie działa całkowicie? Powodem, dla którego pytam, jest filterExpression w twoim filtrze selfs nie wywołuje id z twojego kontrolera. @shaishabroy –
Rozwiązanie powinno działać, ponieważ wywołanie filterExpression dla każdego obiektu Thana zwraca true z fałszywej wartości. Możesz sprawdzić [PLUNKER] (http://plnkr.co/edit/5CoVo75Es6qP5rBcP4FX?p=preview) –
Jeśli moje rozwiązanie rozwiązało twój problem, zaakceptuj to rozwiązanie @RenaldoGeldenhuis –