一个ng的多个ng模型

时间:2015-05-18 13:24:20

标签: angularjs angularjs-ng-model

亲爱的我创建了一个复选框,它会显示多个项目的名称及其价格,用户可以选择他/她想要的内容。在ng-model中,我需要项目的名称和价格。这是我找到的一个示例代码。

    <div class="checkbox" ng-repeat="item in items">
      <label>
        <input ng-model="data[item.name + '||' + item.price]" type="checkbox" id="{{item.id}}">
        {{item.name}} with {{item.price | currency}}
      </label>
    </div>

稍后使用字符串拆分器获取值。有什么方法可以使用两个不同的ng-model获得item.name和item.price?

1 个答案:

答案 0 :(得分:3)

不,你不能将2 ng模型用于同一个元素,它也没有任何意义。

只需将ng-model设置为项目上的属性selected

即可
<input ng-model="item.selected" type="checkbox" id="{{item.id}}">

由于商品对象本身有价格和名称,因此您可以轻松过滤商品selected及其各自的名称和价格。

例如:

var selectedItems = $scope.items.filter(function(itm){return itm.selected});

如果您想将ngmodel设为ID,并将值设置为项目属性(您在问题中的方式),您也可以使用ng-true-value(虽然我认为以前的方法应该就够了)

<input ng-model="data[item.id]" ng-true-value="{{item.name + '||' + item.price}}" type="checkbox" id="{{item.id}}">