在HTML和AngularJS中为选定的选项标签实现ng-if和ng-repeat

时间:2017-01-17 17:55:06

标签: javascript html angularjs ng-repeat angular-ng-if

我有一个下拉列表,使用带有AngularJS的select和option标签,引用一个模型,就像这样。

Shader

此下拉列表列出了用户可以选择的七个位置ID。

但是,我有另一个模型从另一个条目中显示特定的位置ID;此位置ID肯定是上面下拉列表中显示的位置ID之一。请拨打此Shader。这只是一个数字。

如果此位置ID与上方下拉列表中的某个位置ID匹配,我希望显示<select id="edit-location" class="" ng-model="packageLoc"> <option ng-repeat="x in loc" value="{{ x.locationId }}">{{ x.locationLoc }} - ({{ x.locationFloor }}{{ x.locationBuilding }})</option> </select> 关键字,使上面的下拉列表显示我的第二个模型中的位置ID。

我已尝试使用ng-if实现此功能。但我没有成功。见下文:

packageSearch.locationId

如果该元素的值与其他模型的数据匹配,我如何将selected关键字应用于其中一个<select id="edit-location" class="" ng-model="packageLoc"> <option ng-repeat="x in loc" value="{{ x.locationId }}" ng-if="{{ x.locationId === packageSearch.locationId" selected>{{ x.locationLoc }} - ({{ x.locationFloor }}{{ x.locationBuilding }})</option> </select> 元素?

2 个答案:

答案 0 :(得分:3)

尝试使用ng-selected

pip install PyQt5

答案 1 :(得分:1)

我建议您在满足此条件时使用正确的值设置模型(packageLoc),而不是添加所选属性。

假设你有另一个选择设置packageSearch,你可以这样做:

<select id="search-location" ng-model="packageSearch" ng-change="setLocation()">
    <option ng-repeat="..."></option>
</select>

在控制器的setLocation函数中,您可以编写如下内容:

packageLoc = packageSearch; (or whatever you'd like to do here)