添加动态字段以创建特定的 JSON 格式
Add dynamic field to create specific JSON format
我试图创建一个带有动态字段的表单来创建一个 JSON 来像这样发布
{
"cpu": "1",
"ram": "128",
"env": {
"envname1": "value1",
"envname2": "value2"
}
}
虽然我在创建 cpu 和 ram 方面没有问题,但我无法弄清楚创建"envname"和"value",因为 envname 应该在动态添加字段中的第一列和第二列中的值。
我也无法将常规字段和动态字段放在一个范围内。
请看一下 http://jsfiddle.net/q9dcn7wj/3/CPU 和 RAM 字段将被忽略。当我改变时
$scope.inputs = [{id: 'choice1'}];
自
$scope.inputs = {id: 'choice1'};
动态字段将被忽略。如何获取范围内的所有内容以将整个表单提交为 JSON?
您正在将inputs
模型视为既是array
又是object
。
我建议您在input
模型上创建一个variables
属性并在其上进行推送/拼接。
我已经更新了您的JSFiddle,下面的相关代码:
JavaScript:
var app = angular.module('myApp', []);
app.controller('MyCtrl', ['$scope', function ($scope) {
$scope.inputs = { variable: [] };
$scope.addInput = function(){
$scope.inputs.variable.push({name:'', value:''});
}
$scope.removeInput = function(index){
$scope.inputs.variable.splice(index,1);
}
}]);
HTML:
<div ng-app="myApp" ng-controller="MyCtrl">
<input type="text" ng-model="inputs.cpu" />cpu<br />
<input type="text" ng-model="inputs.ram" />ram
<div ng-repeat="input in inputs.variable">
<input type="text" ng-model="input.name" />
<input type="text" ng-model="input.value" />
<button ng-click="removeInput($index)">Remove</button>
</div>
<button ng-click="addInput()">add input</button>
<br />
<strong><label for="userDebugText">JSON:</label></strong>
<textarea id="userDebugText">{{inputs|json}}</textarea>
</div>
相关文章:
- 在HTML页面上将URL解析为可读的json格式
- 为DataTables aoColumnDefs创建JavaScript数组(JSON格式)
- 从Particle Photon Webhook到Azure的JSON格式
- json格式的国家数据到层次数据
- 从javascript调用C#Web服务并使用它(json格式)
- HTML表的JSON格式
- 如何将HTML表单(JSON格式)中的数据分配给变量
- Neo4j结果(JSON格式)创建D3树图
- 高图表数据导入 JSON - 格式
- 更改代码以读取不同的 JSON 格式
- JSON 格式问题
- 将JavaScript字典转换为JSON格式
- 将 XML 数据转换为 json 格式 AngularJS
- KendoDatePicker 无法识别从 Web 服务以 JSON 格式返回的日期
- 在表单提交时设置JSON格式
- AngularJS ng重复json格式
- 如何将json格式的数组数据从jquery返回到html
- 为什么 JSON.parse 无法检测参数是否已采用 JSON 格式
- 如何使用jQuery从表中以JSON格式发布数据
- json格式作为cordova或phonegap ios插件的参数