2014-05-02 19 views
11

Ürün seçenekleriyle birlikte yüklenen bir seçim listesi verildiğinde, etiketin seçenek adı biçiminde olmasını ve sonra parantez içinde fiyatın olmasını istiyorum. Yani örneğin: "Ürün Seçeneği B ($ 1,432.12)". Seçenek nesnesinde "isim" ve "fiyat" özellikleri bulunur. Fiyat sayısal, para birimi filtresiyle biçimlendirilmesini istiyorum. Bunu nasıl yapardım? Belki bir string ve sayısal değer alan bir özel filtre düşünüyorum. Filtreyi ng seçeneklerinde nasıl uygulayacağımı bilmiyorum.ng seçeneklerinde öğeler etiketinde bir angularJs filtresi nasıl kullanılır?

<select class="form-control" 
     ng-model="selectedOption" 
     ng-options="option.name for option in category.options"></select> 
+0

sadece Contr modelinizi süslemek Could displayName özniteliği gibi bir şeyle oller/yönerge? – Mike

cevap

26

Bu sizin için çalışması gerekir:

<select class="form-control" 
    ng-model="selectedOption" 
    ng-options="option.name + ' (' + (option.price | currency:'USD$') + ')' for option in options"> 
</select> 

Bu, bu formda öğelerle bir açılır hale getirecek: Item A (USD$14.00)

Aşağıdaki kod sadece adı (fiyatı) görüntüler

http://jsfiddle.net/6MYc3/

+0

Bu mükemmel ama bir sorunum var. Bu gibi göstermek istediğim seçenekler var: code - desc'. Ama seçeneklerimden biri 'code =" "', 'desc =" '' ve sonuçta '' '' '' '' '' '' '' '' '' '' ''' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' istiyorum. Bunu nasıl başarabilirim lütfen? – Gondil

+0

oh option.code seçeneğini option.code olarak görüyorum === ''? '': seçeneklerdeki seçenek için (option.code + '-' + option.desc) – Gondil