2015-08-24 10 views
7

मैं कोणीय जेएस का उपयोग करके एक बहुविकल्पीय सूची बनाने की कोशिश कर रहा हूं। मुझे एक अजीब टाइपरर मिल रहा है: a.foreach कोई फ़ंक्शन नहीं है और मुझे लगता है कि मुझे कब पता लगाना नहीं है।a.foreach प्राप्त करना फ़ंक्शन त्रुटि नहीं है

js:

var myAppModule = angular.module('multiselect', []); 

myAppModule.controller("view", function ($scope) { 
$scope.listA = { 
    values: [{ 
     id: 1, 
     label: 'aLabel', 
     subItem: { 
      name: 'aSubItem' 
     } 
}, { 
     id: 2, 
     label: 'bLabel', 
     subItem: { 
      name: 'bSubItem' 
     } 
}], 
    selected: { 
     name: 'aSubItem' 
    } 

}; 


}) 

एचटीएमएल:

<select multiple ng-options="item.subItem as item.label for item in listA.values track by item.id" ng-model="listA.selected"></select> 

मैं नहीं जानता कि मैं गलत क्या कर रहा हो सकता है। क्या मैं कुछ गलत कर रहा हूँ?

+0

मैं AngularJS v1.4.4 –

+0

का उपयोग कर रहा हूं आप संदर्भ के लिए jsfiddle जांच सकते हैं। –

उत्तर

16

समस्या यह है कि चूंकि आपने multiple विशेषता जोड़ा है, तो चयन का मान एक सरणी होना चाहिए। तो इस तरह कुछ कोशिश करें:

$scope.listA = { 
    values: [{ 
     id: 1, 
     label: 'aLabel', 
     subItem: { 
      name: 'aSubItem' 
     } 
    }, { 
     id: 2, 
     label: 'bLabel', 
     subItem: { 
      name: 'bSubItem' 
     } 
    }], 
    selected: [{ 
     name: 'aSubItem' 
    }] 

}; 
+0

Nice.spent 2 घंटे इस समस्या को हल करने की कोशिश कर रहा है। –

2

आपको आईडी द्वारा अपने मूल्यों को ट्रैक करने की आवश्यकता नहीं है। यह डिफ़ॉल्ट रूप से ऐसा करेगा।

<div ng-controller="Main"> 
    <select multiple ng-options="item.subItem as item.label for item in listA.values" ng-model="listA.selected"></select> 
</div> 

अपने कोड के लिए जे एस फिडल (फिक्स):

http://jsfiddle.net/juag4okg/

1

मैं एक ही समस्या हो रही थी। यह उपरोक्त उत्तर के रूप में स्थिर json object बनाकर अच्छी तरह से काम करता है, लेकिन जब मैंने ऑब्जेक्ट या सर्वर से सूची लाने की कोशिश की तो काम नहीं किया। तब मुझे एहसास हुआ कि मेरा सर्वर json object नहीं भेज रहा था और मैंने इसे json में भी परिवर्तित नहीं किया था। और जब मैंने इसे json में परिवर्तित कर दिया तो यह पूरी तरह ठीक काम करता था।

तो यदि सर्वर सर्वर डेटा से चुनिंदा विकल्प (बहु या एकल) प्रदर्शित करने के लिए आपको समान समस्या हो रही है तो यह प्रक्रिया आपकी मदद कर सकती है।

यहां कोणीय angular.toJson() फ़ंक्शन का लिंक है।

संबंधित मुद्दे