繁体   English   中英

在ng-options中选择一个选项不适用于jQuery

[英]Select an Option in ng-options Not working with jQuery

我试图基于基于变量中文本生成的选项标签,使用jquery在ng-options中选择一个选项。

$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>

永远不会被选择。 即使我在标签文本中硬编码。

您可以使用angular的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/

我只需要在ng-options = FAIL中track by day.text添加track by day.text

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM