如何使用AngularJS中的ng-model将html'select'控件输入存储到JSON对象?

时间:2014-02-17 09:44:33

标签: json angularjs

我使用ng-repeat将'select'输入控件绑定到每一行。绑定之后我想使用ng-model.how将选择的值存储在'select'控件中以使用ng-model.how来解决这个问题?

我的代码:

<table>
    <tr ng-repeat="(refreshments,price) in items">
           <td>
             <label>{{refreshments}}</label>
            </td>
            <td style="padding-left:500px">
            </td>
            <td>
              <label>{{price}}</label>
            </td>
            <td class="td_width">
            </td>
            <td>
               <select ng-model="quantity">
                  <option value="0">0</option>
                  <option value="1">1</option>
                  <option value="2">2</option>
                  <option value="3">3</option>
                  <option value="4">4</option>
               </select>
            </td>
           </tr>
  </table>

JSON对象:

var JSONObject= {"quantity":"{{ quantity }}"};

我只需要在JSON对象中绑定选定的数量。 我的ng-repeat超过了一行&amp;对于每一行,我通过ng-repeat绑定选择选项。

提前致谢, Stephen.L

2 个答案:

答案 0 :(得分:2)

试试这个:

var JSONObject = {};
$scope.$watch('quantity', function(newValue) {
    JSONObject.quantity = newValue;
});

<强>释

$scope&#39; $watch方法注册一个侦听器回调,每当模型值(在您的情况下为quantity)发生更改时,都会执行该回调。因此,您可以确保JSONObject.quantity属性始终反映实际的quantity状态。

您可以在documentation中找到更多详细信息。

答案 1 :(得分:1)

这样做:

var JSONObject = {};
JSONObject.quantity = scope.quantity;