gpt4 book ai didi

javascript - 将 key 对值动态添加到 $scope 变量并将它们与标签和输入绑定(bind)

转载 作者:可可西里 更新时间:2023-11-01 13:26:26 28 4
gpt4 key购买 nike

我正在从事 AngularJS 项目。我有一个表单,用户可以选择添加多对(键,值)。

假设 key 是输入框的标签,用户可以从下拉列表中选择作为标签(key)的值。

是用户在输入框中输入的值。因此,这意味着键和值都由用户动态决定。

这是我尝试过的:

$scope.optionArray = [];
$scope.addOption = function(key, value) {
var temp = {};
temp[key] = value;
optionArray.push(temp);
}

我正在使用 ng-repeat 在 html 文件中显示 optionArray 的内容。在 html 文件中,我有一个按钮,可以向该对添加一个选项,例如:

<button type="button" 
data-ng-click="addOption(???, ???)">Add Options
</button>
<div ng-repeat="option in optionArray">
<label>
<select ng-model=option.???>
<option>...</option>
</select>
<input ng-model=option.???>
</label>
</div>

我真的很困惑,因为动态片段太多了。全部 ???是我不知道该放什么的地方。

总而言之,我希望用户向表单动态添加键值对,并且他们可以在最终提交表单之前随意编辑这些键值对值。我该怎么做?

最佳答案

我认为你可能把这个问题复杂化了。似乎您需要做的就是动态添加键/值对,然后在提交之前让自己选择修改每一对的键和值。

就目前而言,您的嵌套下拉菜单不允许您轻松地重新选择要编辑的选项。

编辑:更新为使用静态键列表:

工作 plunker .

模板:

<body ng-app="app">
<div ng-controller="OptionsCtrl">
<label>Key</label>
<select ng-model=tempOption.key>
<option ng-repeat="key in keys">{{key}}</option>
</select>

<label>Value</label>
<input type="text" ng-model="tempOption.value" />

<button type="button"
data-ng-click="addOption()">Add Options
</button>
<div ng-repeat="option in optionArray | orderBy:'key'">
<label>Key</label>
<input type="text" ng-model="option.key" />

<label>Value</label>
<input type="text" ng-model="option.value" />
</div>

<h4>Current Data</h4>
<div ng-repeat="option in optionArray | orderBy:'key'">
<label>Key:</label>
<label ng-bind="option.key"></label>

<label>Value:</label>
<label ng-bind="option.value"></label>
</div>
</div>
</body>

Controller :

var app = angular.module('app', []);
app.controller('OptionsCtrl', ['$scope', function($scope) {
$scope.tempOption = {};
$scope.keys = ['key1', 'key2', 'key3'];
$scope.optionArray = [];
$scope.addOption = function() {
var temp = {
key: $scope.tempOption.key,
value: $scope.tempOption.value
};
$scope.optionArray.push(temp);
$scope.tempOption = {};
}
}]);

关于javascript - 将 key 对值动态添加到 $scope 变量并将它们与标签和输入绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37473022/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com