2015-10-30 169 views
0

我想根據基於變量中的文本生成的選項標籤,使用jquery在ng選項中選擇一個選項。在ng選項中選擇一個選項不使用jQuery

$scope.storedDay = 'Today'; 

<select id="selectedDay" name="selectedDay" class="form-control" ng-model="selectedDay" ng-options="day.text for day in days"></select> 

$('#selectedDay option[label="' + $scope.storedDay + '"]').prop('selected', true); 

生成的HTML

<select id="selectedDay" name="selectedDay" class="form-control ng-pristine ng-untouched ng-valid" ng-model="selectedDay" ng-options="day.text for day in days" tabindex="0" aria-invalid="false"> 
<option value="?" selected="selected"></option> 
<option value="object:35" label="Today">Today</option> 
<option value="object:36" label="Tomorrow">Tomorrow</option> 
<option value="object:37" label="Sunday">Sunday</option> 
</select> 

這是從來沒有選擇。即使我在標籤文本中硬編碼。

+2

什麼是每個人都試圖一起使用jQuery和角?只需使用角... –

+0

但爲什麼你想用jQuery做到這一點? – Grundy

+0

我不必使用jQuery - 我可以使用js或者如果存在角度方式... – RooksStrife

回答

0

我只是需要在track by day.text添加在NG選項= FAIL:}

0

你可以做到這一點使用角度的jqLit​​e迭代選擇和比較它們的標籤,請參見下面的工作小提琴:

//Iterate over options 
for (var i = 0; i < angular.element(document.querySelector('#selectedDay').children).length; i++) { 
    if (angular.element(document.querySelector('#selectedDay').children[i]).attr('label') == $scope.storedDay) { 
     //Set selected option in ng-model 
     $scope.selectedDay = angular.element(document.querySelector('#selectedDay').children[i]).attr('value'); 
    } 
} 

http://jsfiddle.net/hmartos/sjsk71w8/