Angularjs 使用ng模型的值和文本

Angularjs 使用ng模型的值和文本,angularjs,Angularjs,我目前有: <div> <label for="market-type">Market Type</label> <select id="market-type" type="text" ng-model="tradingFee.market_type"> <option value="stock">Stock Market</option> <option value=

我目前有:

<div>
    <label for="market-type">Market Type</label>
    <select id="market-type" type="text" ng-model="tradingFee.market_type">
        <option value="stock">Stock Market</option>
        <option value="otc">OTC Market</option>
    </select>
</div>

将所选期权的值指定给tradingFee.market\u类型。我希望能够做到这一点,并将所选选项的文本分配给tradingFee.market\u type\u human\u friendly\u text,例如。仅仅能够完成其中一项作业是不够的。这有可能吗?

您可以在select上使用ng change启动一个自定义事件处理程序,以设置辅助值

<select id="market-type" type="text" ng-model="tradingFee.market_type" 
   ng-change="updateSecondary()">
   <option value="stock">Stock Market</option>
   <option value="otc">OTC Market</option>
</select>

您可以这样做,但不能使用这种语法。使用,以便ng模型同时保存值和显示名称

在控制器集中的对象数组中:

 $scope.marketType = [{id:"stock", displayName:"Stock Market"}, {id:"otc", displayName:"OTC Market"}];

-挑选- {{tradingFee.market_type}
使用ng选项从对象数组创建选项标记。然后,您可以将ng模型绑定到完整对象,或者使用ng更改来更新其他变量集,从何而来?将需要在controller中解析DOM,这不是首选方法,您不需要这样做,因为您的范围中有id和列表。这里有一个例子可以做到这一点:
<select id="market-type" type="text"
        ng-model="tradingFee.market_type" 
        ng-options="mt.displayName for mt in marketType track by mt.id">
    <option value="">--Select--</option>
</select>