2013-07-07 46 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>