2013-07-07 71 views
0

我的代碼位於jsFiddle,下面是該代碼的c/p。我的問題是如何得到的只是文字週一,而不是[「星期一」當我點擊週一選項,以及如何獲得週一,週四時候我多選星期一和星期四( ofc,你得到的點:星期二,星期三,星期六當週二,週三和週六選項被選中)。我必須錯過一些明顯的東西,請引導我朝正確的方向發展。如何使用ng選項以角度顯示所選選項的文本

HTML:

<div ng-app ng-controller="Controller"> 
    <select multiple="multiple" ng-model="day" ng-options='day.id as day.name for day in days'></select> 

    {{day}} 
</div> 

JS:

function Controller($scope) { 
    $scope.days = [ 
     { 
      name: "Monday", 
      id: "Mon" 
     }, 
     { 
      name: "Tuesday", 
      id: "Tue" 
     }, 
     { 
      name: "Wednesday", 
      id: "Wed" 
     }, 
     { 
      name: "Thursday", 
      id: "Thu" 
     }, 
     { 
      name: "Friday", 
      id: "Fri" 
     }, 
     { 
      name: "Saturday", 
      id: "Sat" 
     }, 
     { 
      name: "Sunday", 
      id: "Sun" 
     } 
    ];  
} 
+0

我不知道理解你想要什麼。你得到的是一個包含所有選擇的選項ID的數組。你想得到什麼?什麼阻止你循環數組並將其轉換爲任何你想要的? –

+0

您好,JB Nizet,thx您的評論。我缺乏理解如何循環訪問html中的{{day}}變量,因爲那樣我就可以隨意使用數組了。 – Nikola

回答

1

這裏的an example該數組轉換爲字符串,並將其顯示爲直接在頁面的字符串:

JS:

$scope.selectedDaysToString = function() { 
    return $scope.day.join(', '); 
} 

HTML:

{{selectedDaysToString()}} 

這裏是an example生成包含所有選定的日期列表:

HTML:

<ul> 
    <li ng-repeat="d in day">{{d}}</li> 
</ul>