2015-01-13 11 views
8

बहुत ही सरल समस्या है, लेकिन यकीन है कि हल करने के लिए कि यह कैसेAngularJS एनजी-विकल्प एनजी-दोहराने के अंदर

मैं है एनजी-दोहराने, कि पुनरावृति मॉडल वीडियो नहीं।

मॉडल एक चुने हुए मूल्य नहीं है और मैं ड्रॉपडाउन सूची में यह देखना चाहते हैं:

:

$scope.model = { 
       videos:[ 
        {id:1,name:"VIDEO_ONE"}, 
        {id:2,name:"VIDEO_TWO"} 
       ] 
      } 

इस videoList आइटम है:

<div data-ng-repeat="singleVideo in model.videos"> 
    {{singleVideo}}<select data-ng-model="singleVideo.name" ng-options="item.name for item in videoList"></select> 
</div> 

इस वीडियो मॉडल है

$scope.videoList = [ 
       {id:1,name:"VIDEO_ONE"}, 
       {id:2,name:"VIDEO_TWO"}, 
       {id:3,name:"VIDEO_Three"} 
      ]; 

बस मुझे लगता है कि पहला ड्रॉपडाउन मान VIDEO_ONEपर सेट किया जाएगादूसरा ड्रॉपडाउन मान VIDEO_TWO पर सेट किया जाएगा।

वर्तमान में ड्रॉपडाउन खाली है।

मैं इसे कैसे प्राप्त कर सकता हूं?

This is the expected result, currently i'm getting the dropdown boxes empty

उत्तर

7

तुम बस item.id as item.name for item in videoList साथ एनजी-विकल्प के लिए एक मूल्य निर्धारित करने की आवश्यकता। नीचे कोड देखें।

(i, मूल्य के रूप में आईडी सेट के बाद से मुझे लगता है कि यह बेहतर अनुकूल है। कहीं न कहीं आप भी अपनी पसंद आईडी। या इसके verca के अनुसार अपने name विशेषता को अपडेट करने की जरूरत है।।)

angular.module('testapp', []) 
 
.controller('appCtrl', function($scope) { 
 
    $scope.model = { 
 
    videos:[ 
 
     {id:1,name:"VIDEO_ONE"}, 
 
     {id:2,name:"VIDEO_TWO"} 
 
    ] 
 
    }; 
 
    
 
    $scope.videoList = [ 
 
    {id:1,name:"VIDEO_ONE"}, 
 
    {id:2,name:"VIDEO_TWO"}, 
 
    {id:3,name:"VIDEO_Three"} 
 
    ]; 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 

 
<body ng-app="testapp"> 
 
    <div ng-controller="appCtrl"> 
 
    <div ng-repeat="singleVideo in model.videos"> 
 
     {{singleVideo.name}} 
 
     <select ng-model="singleVideo.id" ng-options="item.id as item.name for item in videoList" ng-selected="true"></select> 
 
    </div> 
 
    </div> 
 
</body>

+0

Yey !! यह काम करता है, मैं इसे एक मिनट –

+0

में स्वीकृत के रूप में चिह्नित करूंगा जब मैं मूल्य बदल रहा हूं केवल आईडी बदल रहा है और नाम नहीं है, क्या आपको कोई विचार है? "वीडियो": [{"id": 1, "name": "VIDEO_ONE"}, {"id": 2, "name": "VIDEO_TWO"}] –

+0

जैसा कि मैंने उल्लेख किया है, यह केवल 'id' विशेषता को अपडेट करता है । यदि आप 'videoList' से नाम लेते हैं, तो मैं 'नाम' विशेषता छोड़ दूंगा, क्योंकि यह अनावश्यक है। – zwacky

1
<div data-ng-repeat="singleVideo in model.videos"> 
    {{singleVideo}}<select data-ng-model="singleVideo.name" ng-options="item.name as item.name for item in videoList"></select> 
</div> 
संबंधित मुद्दे