2015-10-28 29 views
0

我有一个简单的JavaScript数组是这样的:最简单的方法,并设定选择的值使用angularjs

var directionArray = [{ id: 'N', text: 'North' }, 
    { id: 'S', text: 'South' }, 
{ id: 'E', text: 'East' }, 
{ id: 'W', text: 'West' }]; 

我有这样的选择元素:

<select data-ng-model="bbInventory.DIRECTION_OF_TRAVEL" 
       name="travelDirection" 
       id="travelDirection" 
       class="form-control" style="width: 100%"></select> 

目标是首先从数组中加载选项,然后在数据可用时选择一个值。

我一片空白,任何输入将非常感激

+0

“在标题中使用angularjs”,问题中的[tag:javascript]和[tag:jquery]标签。这是什么? – Jesse

+0

可以使用纯javascript或jquery加载下拉菜单。所选选项必须通过Angular进行设置。所以,所有三个... – w2olves

+0

@Jesse angular是javascript,很难错,一个 – charlietfl

回答

1

简单的设置是:

$scope.directionArray = [{ id: 'N', text: 'North' }, 
     { id: 'S', text: 'South' }, 
     { id: 'E', text: 'East' }, 
     { id: 'W', text: 'West' }]; 

而在HTML:

<select data-ng-model="bbInventory.DIRECTION_OF_TRAVEL" 
     ng-options="item.id as item.text for item in directionArray" 
     name="travelDirection" 
     id="travelDirection" 
     class="form-control" style="width: 100%"></select> 

plunker

+0

非常感谢。我可以使用相同的设置加载json数组吗? – w2olves

+1

当然,这只是对象:) –

1

使用ng-options指令

<select ng-model="bbInventory.DIRECTION_OF_TRAVEL" ng-options="option.text for option in directionArray track by option.id"></select> 

然后选择一个选项,使用

$scope.bbInventory.DIRECTION_OF_TRAVEL = $scope.directionArray[whatyouwantindex]; 
+0

谢谢。我选择Fridjon的答案仅仅是因为Plunker,而且他的速度只有几秒钟。我相信你或他的答案对我和其他正在寻找类似解决方案的人都会有所帮助。再次感谢 – w2olves

+0

没问题的人....很高兴帮助 – Vanojx1