2013-02-06 38 views
5

निम्न डेटा Angular UI के माध्यम से select2 से जुड़ा हुआ है: (Live example here)कोणीय यूआई चयन 2 - स्वचालित सॉर्टिंग को कैसे रोकें?

जे एस:

$scope.items = [ 
    {id: 1, text: 'elephant'}, 
    {id: 2, text: 'desk'}, 
    {id: 3, text: 'car'}, 
    {id: 4, text: 'boat'}, 
    {id: 5, text: 'apple'} 
]; 
$scope.selected = []; 

HTML:

<select ui-select2 
     multiple 
     ng-model="selected" 
     data-placeholder="Please select..." 
     style="width:200px"> 
    <option></option> 
    <option ng-repeat="item in items" value="{{item.id}}">{{item.text}}</option> 
</select> 

हालांकि, हर बार आइटम का चयन किया जाता है, यह चयनित आइटम पर क्रमबद्ध id द्वारा। उदाहरण के लिए, यदि आप "सेब" और फिर "नाव" चुनते हैं, तो selected आइटम "नाव" और "सेब" होंगे (इस क्रम में!)।

मैं आदेश को कैसे सुरक्षित रख सकता हूं और इस स्वचालित सॉर्टिंग को अक्षम कर सकता हूं? जैसे कि यह आदेश को बरकरार रखता है अगर आप देखा here

की तरह वस्तुओं में से प्रत्येक के लिए एक ng-repeat कर के बजाय ng-options का उपयोग

+0

क्या यह चयन 2 में या केवल कोणीययूआई के साथ वेनिला जेएस के साथ होता है? – ProLoser

+0

मुझे यकीन नहीं है कि यह क्यों हो रहा है। क्या आप इस परियोजना पर टिकट खोल सकते हैं? – ProLoser

+0

@ProLoser: https://github.com/angular-ui/angular-ui/issues/406 –

उत्तर

-1

लग रहा है आपको बस इतना करना है इस लाइन को हटाना है:

<option ng-repeat="item in items" value="{{item.id}}">{{item.text}}</option> 

और फिर अपने टैग में इस तरह एक निर्देश जोड़ें:

ng-options="item.text for item in items" 

यह यह इतना पूरे आइटम वस्तु हो जाता है कर देगा केवल आईडी की बजाय चयनित सूची में शामिल किया गया है, इसलिए आपको इसे ध्यान में रखना होगा।

+0

'ui-select2'' ng-options' के साथ असंगत है और असामान्य व्यवहार बनाएगा। – ProLoser