2013-04-30 12 views
5

मैंने एक परियोजना में angularjs का उपयोग शुरू किया। यहां मेरे पास एक खोज है। मैं नीचे HTMLAngularjs विकल्प का चयन करें चयनित डिफ़ॉल्ट

<div> 
<label for="lastname">Bank Name :</label> 
<select ui-select2 ng-model="bank.id"> 
    <option></option> 
    <option ng-repeat="bank in banks" value="{{bank.id}}">{{bank.text}}</option> 
</select> 
</div> 

मैं लटकती के लिए सभी बैंकों पुनरावृति की है। उपयोगकर्ता चयन करता है और सहेजें दबाएं। मैंने आईडी को सही ढंग से प्राप्त किया और इसे डीबी में सहेज लिया। जब उपयोगकर्ता वापस आ जाता है तो मैं ड्रॉप डाउन का मूल्य उस व्यक्ति को सेट नहीं कर सका जिसे उसने चुना था। मैं controller.js

$http.get('/AdServerLongTail/api/user'). 
success(function(data, status, headers, config) { 
    if(status == 200){ 
     $scope.id = (data["id"]);// user id     
     $scope.bank.id = (data["bankId"]);     
    } 
}). 
error(function(data, status, headers, config) { 
    alert("fail"); 
}); 

मैं इसे कैसे bankID 11 letssay, जो XX बैंक है करने के लिए सेट कर सकते हैं में ऐसा?

उत्तर

15

आपको इस तरह से एनजी-दोहराना नहीं चाहिए। कृपया ngOptions http://docs.angularjs.org/api/ng.directive:select

+2

क्यों? ui-select2 ng-options के साथ काम नहीं करता है। – shapeshifter

+0

मैं आपको सुनता हूं। लेकिन, सिर्फ इसलिए कि बाहरी पुस्तकालय इसका समर्थन नहीं करता है, इसका मतलब यह नहीं है कि यह सही है। – Lander

+4

@ लैंडर, मैं मानता हूं कि यह सही नहीं है, लेकिन दुर्भाग्यवश यह चयन 2 का उपयोग करने का एकमात्र तरीका है। आप कुछ अलग खोज सकते हैं या इसे इस तरह से रख सकते हैं। मैं एस 2 तक पहुंचने के लिए एक बेहतर निर्देश लिखने का सुझाव दूंगा, क्योंकि निर्देशों के पीछे विचार आंतरिक रूप से काम करने के तरीके को उजागर किए बिना एक एपीआई प्रदान कर रहा है। आदर्श दुनिया में निर्देश API को एनजी-चयन के साथ काम करना चाहिए। एनजी-दोहराने का उपयोग कुछ भी तोड़ नहीं होगा, और मैं इसे एक हैक नहीं मानूंगा। मुझे और परेशान करता है कि चयन 2 कोणीय में बहुत धीमा हो सकता है। –

2

मुझे यह मिला, इतना आसान कैसे मैंने इसे याद किया। सही कोड यहाँ है।

<div> 
<label for="lastname">Bank Name :</label> 
<select ui-select2 ng-model="bank"> 
    <option></option> 
    <option ng-repeat="bank in banks" value="{{bank.id}}">{{bank.text}}</option> 
</select> 
</div> 

$http.get('/AdServerLongTail/api/user'). 
success(function(data, status, headers, config) { 
    if(status == 200){ 
     $scope.id = (data["id"]);// user id     
     $scope.bank = (data["bankId"]);     
    } 
}). 
error(function(data, status, headers, config) { 
    alert("fail"); 
}); 
+0

क्या कोणीय यूआई के बिना ऐसा करने का कोई तरीका है? मैं भी इस पर काम कर रहा हूँ। – elliottregan

+0

विकल्पों में घोंसला दोहराने का उपयोग समस्याएं पैदा करता है और नियमित कोणीय बाध्यकारी के साथ सही काम नहीं करता है। मुझे यह समझने में थोड़ा सा लगा कि यह तकनीक अन्य कोणीय डीबी को असफल क्यों कर रही थी ... – taudep

+0

कृपया अन्य उत्तर को सही के रूप में चिह्नित करें। – uriDium

8

मैं कोणीय के लिए नया हूं और इसके लिए संघर्ष कर रहा हूं। यहाँ सरल टैग है कि करता है, और यह एनजी-चयन किया जाता है:

<option ng-repeat="bank in banks" value="{{bank.id}}" ng-selected="'11' == bank.id" >{{bank.text}}</option> 

लेकिन फिर से: न यह इस तरह के रूप में Lander ने सलाह दी है। इसके बजाय ng-options<select> में उपयोग करें। नहीं तो आप dropdown.assign bank.selected.id मॉडल में में खाली पहला विकल्प के साथ खत्म हो जाएगा। (अपने मामले एनजी मॉडल में यहाँ है bank.id.)

<select ng-model="bank.selected.id" ng-change="someAngularfunction()" ng-options=" (''+bank.id) as (bank.id +' - '+ bank.text) for bank in banks"> 
        <option value="">Select one</option> 
</select> 

भी याद रखें कि विकल्प मान बैंक नहीं दिखाया जाएगा विकल्पों में, बल्कि यह विकल्प मान = "0" या "1" या "3" दिखाएगा जो सूचकांक है। लेकिन ड्रॉपडाउन में चयनित मूल्य bank.selected.id मॉडल से बंधेगा। उदाहरण के लिए, यदि ड्रॉपडाउन मान का चयन बैंक.आईडी = 11 (एक्सएक्स बैंक) के लिए किया जाता है, तो बैंक.selected.id को "11" के रूप में सेट किया जाएगा।

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