2013-11-20 15 views
66

में मानों को जोड़ना संभव है, मूल रूप से, मैं एक चयन बॉक्स को पॉप्युलेट करने की कोशिश कर रहा हूं लेकिन first_name कॉलम और last_name कॉलम से मूल्यों को जोड़ता हूं।क्या कोणीय एनजी-विकल्प

मुझे क्या करना चाहते हैं (काम नहीं करता है):

<select ng-model="buyers" ng-options="b.id as (b.first_name + " " + b.last_name) for b in buyers"></select> 

काम करता है क्या:

<select ng-model="buyers" ng-options="b.id as b.first_name for b in buyers"></select> 
+4

मैंने पहले यह किया है और यह काम करता है। मेरी वाक्यविन्यास 's.subsidiary.sid._value_ s.subsidiary.subsidiary_no._value_ + ':' + s.subsidiary.subsidiary_name._value_ सहायक कंपनियों में एस के लिए है। एकमात्र अंतर मैं देख सकता हूं कि मैंने ब्रांड्स का उपयोग नहीं किया है। उन्हें हटाने का प्रयास करें और देखें कि यह काम करता है या नहीं। –

+0

एक और विकल्प डेटा को बाध्य करने से पहले समेकित मूल्य के साथ full_name नामक एक संपत्ति बनाना होगा। –

+3

ठीक है समस्या डबल कोट्स, आवश्यक एकल था। – PatrickCurl

उत्तर

121

उद्धरण महत्वपूर्ण हैं। यह सिंगल कोट्स के अंदर डबल कोट्स या सिंगल कोट्स के अंदर डबल कोट्स के साथ काम नहीं करेगा।

क्या करता है काम:

<select ng-model="buyers" ng-options='b.id as (b.first_name + " " + b.last_name) for b in buyers'></select> 
+0

मैंने अनुत्तरित AngularJS प्रश्नों की सूची से प्रश्न को हटाने के लिए यह उत्तर जोड़ा। – boatcoder

+1

बस मुझे कुछ करने के बारे में एक नोट: उद्धरण महत्वपूर्ण हैं। यह सिंगल कोट्स के अंदर डबल कोट्स या सिंगल कोट्स के अंदर डबल कोट्स के साथ काम नहीं करेगा। – Qaz

+1

डीबीएल कोट्स के अंदर बिल्कुल डीबीएल उद्धरण काम नहीं करते हैं, क्योंकि वे वर्तमान स्ट्रिंग को समाप्त करते हैं और एक और शुरू करते हैं। आपको उपरोक्त उद्धरणों को मिश्रण करना होगा। – boatcoder

4

आप इस synthax का उपयोग कर एक स्ट्रिंग जोड़ सकते हैं:

ng-options="i.x + ' ' + i.y for i in items" 

निम्नलिखित स्निपेट जोड़ firstname और lastname:

angular.module('myApp', []); 
 

 
function MyCtrl($scope) { 
 
    $scope.names = [{firstname: 'Jon', lastname: 'Snow'}, 
 
        {firstname: 'Rob', lastname: 'Stark'}, 
 
        {firstname: 'Ned', lastname: 'Stark'}]; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 

 
<div ng-app="myApp" ng-controller="MyCtrl"> 
 
    <select ng-model="selected" ng-options="n.firstname + ' ' + n.lastname for n in names"></select> 
 
    selected: {{selected}} 
 
</div>

नोट कोष्ठक हैं कि नहीं आवश्यक, लेकिन यह पठनीयता सुधार हो सकता है।