Ich habe 3 Spalten von Radio Dropdown-Boxen. Ich habe Logik, wo, wenn ein Benutzer einen Radiobutton in Spalte 1 auswählt, die Radioknöpfe in Spalte 2 mit einer neuen Liste aktualisiert werden. Ich möchte immer die oberste Optionsschaltfläche all
standardmäßig auf jede neue Aktualisierung einer neuen Liste in Spalte 2 überprüfen. Bei einer zweiten neuen Aktualisierung wird jedoch ng-check="true"
nicht angewendet und all
wird nicht überprüft.ng-check = "true" funktioniert nicht, wenn Radio-Auswahl-Update
Wie kann ich all
als Standard festlegen, wenn die Liste der Optionsfelder mit einer neuen Liste aktualisiert wird?
<div class="filter-column">
<div class="filter-title">Market</div>
<div class="bottom-line"></div>
<div class="overflow-container">
<div ng-show="markets.length >= 1">
<input type="radio" value="all" name="marketRadio" ng-checked="true" class="resetAll"
ng-model="filter.market" ng-change="radioMap('market')">All
</div>
<div ng-repeat="choice in markets| orderBy: 'name'">
<input type="radio" value="{{choice.name}}" name="marketRadio"
ng-change="radioMap('market', $index)" ng-model="filter.market" >
{{choice.description}}
</div>
</div>
</div>
Logik, wenn die zweite Spalte von Radiobuttons aktualisiert mit neuer Liste:
var ppvFilter = {
regions: [],
markets: [],
dealers: []
};
function populateMarkets(regionCode) {
ppvFilter.markets.length = 0;
ppvFilter.dealers.length = 0;
var urlPath = API_BASE_URI + 'service/org/' +
regionCode + "/markets";
var params = {
url: urlPath,
method: 'GET'
};
$http(params)
.then(function(response) {
ppvFilter.markets = ppvFilter.markets.concat(response.data);
})
.catch(failure);
}
die Aktualisierung wird jedoch nicht beim Laden einer Seite durchgeführt. Es ist Echtzeit, wenn der Benutzer eine Optionsschaltfläche in der vorherigen Spalte der Optionsfelder auswählt. Es ist wie eine Hierarchie. Beispiel: Wenn der Benutzer Radio a in Spalte 1 auswählt, füllen Sie die Optionsfelder in Spalte 2 mit diesen Optionsschaltflächen. Daher bei der zweiten Aktualisierung der Liste. – dman
Wenn Sie einen Plünderer zur Verfügung stellen könnten, kann ich Ihnen helfen, es zu debuggen. Aber das Wichtigste dabei ist, dass das 'ng-Modell 'immer die' ng-geprüfte' Direktive außer Kraft setzt. Es scheint, als müssten Sie das 'ng-Modell' in Ihrem Controller aktualisieren, nachdem Sie die Antwort von der $ http-Anfrage erhalten haben. –
Aber das ändert Ethans Standpunkt nicht. ng-checked ist irrelevant, da der Status des Radiobuttons vom ng-Modell gesteuert wird. Wenn Sie den Status der Schaltfläche ändern möchten, müssen Sie das Modell ändern. –