获取选定选项的值,并比较select标记外的值以获取该值的更多数据

时间:2019-06-20 06:00:46

标签: html angularjs

我是AngularJS的新手,最近我用ng-repeat做了一个select标签。我有一个JSON API propertyDetails,其中包含一些属性的详细信息。

我可以通过ng-repeat获得选择标记选项中所有属性的名称,而API中的propertyID被设置为选项的值。在API中,我有一个参数propertyType。

我现在想要实现的是,当我从选择选项中选择一个propertyName时,propertyType根据选择标签中的选择属性显示在<p>标签中。

<select ng-if="user.role=='2'" id="propertyDropdown" ng-model="propertyDetails.model">
  <option ng-repeat="prop in propertyDetails" value={{ prop.id }}>{{ prop.name }}</option>
</select>
<p>{{ here I want the property type according to the selected property }} </p>

1 个答案:

答案 0 :(得分:2)

很简单,只需在您的选择上编写一个调用ng-change,然后传递索引值即可更改函数,或者您可以将ng-change中的proptype值直接设置为

<select ng-if="user.role=='2'" ng-model="prop_id" id="propertyDropdown">
  <option ng-repeat="prop in propertyDetails" value={{ prop.id }} ng-change="changed(prop)">{{ prop.name }}</option>
</select>
<p>{{ propType }} </p>

在控制器中:

function changed(prop){
  $scope.propType = prop.propertyType
}