如何使用angularjs中的输入值获取选择值

时间:2016-06-03 18:13:05

标签: angularjs

任何人都可以通过动态添加 angularjs 来帮助获取输入和选定值吗?

以下是Plunkr

中的代码

当我选择vegtables时,另一个输入会显示一些值。当我点击提交按钮时,我需要像json一样

{
"itemName":"Mango",
"itemType":"fruits"
},
{
"itemName":"Carrot",
"itemType":"vegtables",
"iteminfo":"you selected Carrot"
},
{
"itemName":"Apple",
"itemType":"fruits"
}

2 个答案:

答案 0 :(得分:1)

我分叉了你的plunker

您可以使用ng-model将itemInfo绑定到项目对象。我不是将文本放在值属性中,而是使用ng-init初始化模型值。

  <tr ng-repeat="item in Items">
    <td>
      <input type="text" ng-model="item.itemName">
    </td>

    <td>
      <select ng-model="item.itemType">
        <option value="">--Select--</option>
        <option vaue="fruits">Fruits</option>
        <option value="vegtables">Vegtables</option>
      </select>
    </td>
    <td>
      <div ng-switch on="item.itemType">
        <input type="text" ng-model="item.itemInfo" ng-switch-when="vegtables" ng-init="item.itemInfo='you selected '+ item.itemName">
      </div>
    </td>
  </tr>

此外,我必须更改Items数组以匹配您请求的命名:

  $scope.Items = [{itemName: "Mango"}, {itemName: "Carrot"}, {itemName: "Apple"}];

答案 1 :(得分:0)

您可以在for循环中解析JSON对象以获取所选值并添加新的键值对。

angular.forEach($scope.vegetables, function(value, key){ if(value.itemName== 'Carrot') value.iteminfo = 'you selected Carrot'; });

如果我没错的话,我猜你可能会找这样的东西。