angularjs कोणीय जेएस का उपयोग कर ड्रॉपडाउन सूची नियंत्रण का एक चयनित विकल्प कैसे सेट करें




drop-down-menu angular-ngmodel (7)

मैं कोणीय जेएस का उपयोग कर रहा हूं और मुझे कोणीय जेएस का उपयोग करके ड्रॉपडाउन सूची नियंत्रण का एक चयनित विकल्प सेट करने की आवश्यकता है। मुझे माफ़ कर दो अगर यह हास्यास्पद है लेकिन मैं कोणीय जेएस के साथ नया हूं

मेरे एचटीएमएल की ड्रॉपडाउन सूची नियंत्रण यहां है

 <select ng-required="item.id==8 && item.quantity > 0" name="posterVariants"
   ng-show="item.id==8" ng-model="item.selectedVariant" 
   ng-change="calculateServicesSubTotal(item)"
   ng-options="v.name for v in variants | filter:{type:2}">
  </select>

आबादी मिलने के बाद मुझे मिलता है

 <select ng-options="v.name for v in variants | filter:{type:2}" ng-change="calculateServicesSubTotal(item)"
ng-model="item.selectedVariant" ng-show="item.id==8" name="posterVariants"
ng-required="item.id==8 &amp;&amp; item.quantity &gt; 0" class="ng-pristine ng-valid ng-valid-required">
    <option value="?" selected="selected"></option>
    <option value="0">set of 6 traits</option>
    <option value="1">5 complete sets</option>
</select>

मैं value="0" लिए नियंत्रण कैसे सेट कर सकता हूं?


मुझे नहीं पता कि इससे किसी की मदद मिलेगी या नहीं, लेकिन जैसा कि मुझे एक ही समस्या का सामना करना पड़ रहा था, मैंने सोचा कि मुझे समाधान कैसे मिला।

आप अपने ng-options में विशेषता द्वारा ट्रैक का उपयोग कर सकते हैं।

मान लें कि आपके पास है:

variants:[{'id':0, name:'set of 6 traits'}, {'id':1, name:'5 complete sets'}]

आप अपने ng-options उल्लेख इस प्रकार कर सकते हैं:

ng-options="v.name for v in variants track by v.id"

उम्मीद है कि यह भविष्य में किसी की मदद करेगा।


यह उपयोगी हो सकता है। बाइंडिंग खुराक हमेशा काम नहीं करते हैं।

<select id="product" class="form-control" name="product" required
                                ng-model="issue.productId"
                                ng-change="getProductVersions()"
                                ng-options="p.id as p.shortName for p in products"></select>

उदाहरण के लिए। आप आराम सेवा से विकल्प सूची स्रोत मॉडल भरें। चयनित मूल्य सूची भरने के लिए जाना जाता था और सेट किया गया था। $ Http सूची विकल्प के साथ पुन: अनुरोध निष्पादित करने के बाद किया जाना चाहिए। लेकिन चयनित विकल्प सेट नहीं है। अज्ञात कारणों से छाया में AngularJS $ पाचन निष्पादन को चुनने के रूप में चयनित नहीं है क्योंकि यह शूल्ड हो। मुझे चयनित सेट करने के लिए JQuery का उपयोग करना होगा। यह महत्वपूर्ण है! छाया में कोणीय एनजी-दोहराने वाले ऑप्टिनो द्वारा उत्पन्न किए गए "मूल्य" के मूल्य के लिए उपसर्ग जोड़ें। Int के लिए यह "संख्या:" है।

$scope.issue.productId = productId;
function activate() {
            $http.get('/product/list')
               .then(function (response) {
                   $scope.products = response.data;

                   if (productId) {
                       console.log("" + $("#product option").length);//for clarity                       
                       $timeout(function () {
                           console.log("" + $("#product option").length);//for clarity
                           $('#product').val('number:'+productId);
                           //$scope.issue.productId = productId;//not work at all
                       }, 200);
                   }
               });
}

<select ng-model="selectedDevice" size="7" single>
 <option *ngFor="let opt of devices" [value]="opt.Address">{{opt.Name}}</option>   

मुझे उम्मीद है कि मैं आपका प्रश्न समझता हूं, लेकिन ng-model निर्देश नियंत्रण में चयनित आइटम और आइटम के मूल्य के बीच दो-तरफा बाध्यकारी बनाता है। चयनित item.selectedVariant । इसका मतलब यह है कि जावास्क्रिप्ट में item.selectedVariant बदलना, item.selectedVariant करना या नियंत्रण में मूल्य बदलना, दूसरे को अद्यतन करता है। यदि item.selectedVariant का मान 0 , तो उस आइटम को चुना जाना चाहिए।

यदि variants ऑब्जेक्ट्स की एक सरणी है, तो item.selectedVariant को उन ऑब्जेक्ट्स में से एक पर सेट किया जाना चाहिए। मुझे नहीं पता कि आपके दायरे में कौन सी जानकारी है, लेकिन यहां एक उदाहरण है:

जे एस:

$scope.options = [{ name: "a", id: 1 }, { name: "b", id: 2 }];
$scope.selectedOption = $scope.options[1];

HTML:

<select data-ng-options="o.name for o in options" data-ng-model="selectedOption"></select>

यह "बी" आइटम का चयन करने के लिए छोड़ देगा।


यदि आप item.selectedVariant को मान 0 असाइन करते हैं। चयनित item.selectedVariant इसे स्वचालित रूप से चुना जाना चाहिए। http://docs.angularjs.org/api/ng.directive:select पर नमूना देखें जो डिफ़ॉल्ट रूप से $scope.color='red' असाइन करके डिफ़ॉल्ट रूप से लाल रंग का चयन करता है।


निम्नलिखित आज़माएं:

जेएस फाइल

this.options = { 
        languages: [{language: 'English', lg:'en'}, {language:'German', lg:'de'}]
};
console.log(signinDetails.language);

एचटीएमएल फाइल

<div class="form-group col-sm-6">
    <label>Preferred language</label>
    <select class="form-control" name="right" ng-model="signinDetails.language" ng-init="signinDetails.language = options.languages[0]" ng-options="l as l.language for l in options.languages"><option></option>
    </select>
</div>

सरल तरीका

यदि आपके पास कोई उपयोगकर्ता प्रतिक्रिया के रूप में है या आपके द्वारा परिभाषित ऐरे / JSON है, तो पहले आपको चयनित मान को नियंत्रक में सेट करने की आवश्यकता है, फिर आप उसी मॉडल नाम को HTML में डाल दें। यह उदाहरण मैंने सबसे आसान तरीके से व्याख्या करने के लिए लिखा था।
सरल उदाहरण
नियंत्रक के अंदर:

$scope.Users = ["Suresh","Mahesh","Ramesh"]; 
$scope.selectedUser = $scope.Users[0];

आपका एचटीएमएल

<select data-ng-options="usr for usr in Users" data-ng-model="selectedUser">
</select>

जटिल उदाहरण
नियंत्रक के अंदर:

$scope.JSON = {
       "ResponseObject":
           [{
               "Name": "Suresh",
               "userID": 1
           },
           {
               "Name": "Mahesh",
               "userID": 2
           }]
   };
   $scope.selectedUser = $scope.JSON.ResponseObject[0];

आपका एचटीएमएल

<select data-ng-options="usr.Name for usr in JSON.ResponseObject" data-ng-model="selectedUser"></select>
<h3>You selected: {{selectedUser.Name}}</h3>    






selected