Ich benutze eckige ng-repeat
mit orderBy
für eine Produktkatalogseite, um die Produkte nach ausgewählten Änderung zu bestellen.ng-wiederholen Sortieren nach Preis unangemessen
Hier orderBy
Name funktioniert gut, aber wenn es um Preis geht, bestellen Sie so 1,10,11,12,13,14,2,3,4,5,6,7,8,9
, weil es nur den ersten Wert überprüft.
Ich brauche das Ergebnis wie dieses 1,2,3,4,5,6,7,8,9,10,11,12,13,14
wählen html
<select ng-model="sortFilter" ng-init="sortFilter='name'">
<option value="name">Default</option>
<option value="price">Price Low to High</option>
<option value="-price">Price High to Low</option>
</select>
Produkte html
<div class="col-sm-3" ng-repeat="product in products | orderBy:sortFilter">
<div class="product_box clearfix">
<div class="product_img">
<img src="images/{{product.imgLink}}">
</div>
<div class="product_right">
<div class="product_details">
<p class="product_name">{{product.name}}</p>
<p class="product_price">{{product.price}}</p>
</div>
<div class="buy_product">
<p><a href="{{product.link}}"><i class="fa fa-shopping-cart"></i> Buy Now</a></p>
</div>
</div>
</div>
Produkt ng-Wiederholungscode
$scope.products = [
{imgLink: 'product1.jpg', name: 'Wingtip Congnac Oxford', price: '$ 14.00', link: '#'},
{imgLink: 'product1.jpg', name: 'Wingtip Congnac Oxford', price: '$ 13.00', link: '#'},
{imgLink: 'product1.jpg', name: 'Wingtip Congnac Oxford', price: '$ 12.00', link: '#'},
{imgLink: 'product1.jpg', name: 'Wingtip Congnac Oxford', price: '$ 11.00', link: '#'},
{imgLink: 'product1.jpg', name: 'Wingtip Congnac Oxford', price: '$ 10.00', link: '#'},
{imgLink: 'product1.jpg', name: 'Wingtip Congnac Oxford', price: '$ 9.00', link: '#'},
{imgLink: 'product1.jpg', name: 'Wingtip Congnac Oxford', price: '$ 8.00', link: '#'},
{imgLink: 'product1.jpg', name: 'Wingtip Congnac Oxford', price: '$ 7.00', link: '#'},
{imgLink: 'product1.jpg', name: 'Wingtip Congnac Oxford', price: '$ 6.00', link: '#'},
{imgLink: 'product1.jpg', name: 'eWingtip Congnac Oxford', price: '$ 5.00', link: '#'},
{imgLink: 'product1.jpg', name: 'dWingtip Congnac Oxford', price: '$ 4.00', link: '#'},
{imgLink: 'product1.jpg', name: 'cWingtip Congnac Oxford', price: '$ 3.00', link: '#'},
{imgLink: 'product1.jpg', name: 'bWingtip Congnac Oxford', price: '$ 2.00', link: '#'},
{imgLink: 'product1.jpg', name: 'aWingtip Congnac Oxford', price: '$ 1.00', link: '#'},
];
Dies ist, weil der Preis Schlüssel ein String ist, keine Nummer. Gibt es eine Chance, dass Sie den Preis als numerischen Wert extrahieren und einen separaten Schlüssel price_sort erstellen können und dann sortieren, ohne ihn dem Benutzer anzuzeigen? – forrestmid
können Sie mir mit etwas Code helfen? –
Können Sie den ng-repeat-Code hinzufügen, den Sie gerade haben? – forrestmid