Angularjs 使用复选框和捕获值重复ng
angular和js仍然是新手。我有一份清单:Angularjs 使用复选框和捕获值重复ng,angularjs,checkbox,ng-repeat,Angularjs,Checkbox,Ng Repeat,angular和js仍然是新手。我有一份清单: <ul ng-repeat="rate in resources"> <li> <input type="checkbox" ng-model="isSelected" ng-change="appendList(rate)"> </li> </ul> 但我想在fastrates中添加一个键、值对,如下所示: $scope.rateValues = { 'rates':
<ul ng-repeat="rate in resources">
<li> <input type="checkbox" ng-model="isSelected" ng-change="appendList(rate)"> </li>
</ul>
但我想在fastrates中添加一个键、值对,如下所示:
$scope.rateValues = {
'rates': {
'fastrates': {
'value': '100',
'value': '200',
'value': '300',
'value': '400',
}
}
};
我想我的控制器中的ng change函数无法处理这个问题。我知道这还远未完成,但至少价值发生了变化。我需要让它检查是否已添加,如果已添加,则将其从对象的键、值中删除。如果没有检查,他们会检查。它需要创建一个新的“值”:fastrates对象中的rate对
$scope.appendList = function(rate){
$scope.rateValues.rates.fastrates.value = rate
}
这是我开始的plnkr。关于如何实现这一点,有什么脚本建议吗?您不能多次使用同一个键。可以使用对象数组
var app = angular.module('plunker', []);
app.controller('MainCtrl', function($scope) {
$scope.resources = {value:['100','200','300', '400']}
$scope.rateValues = {
'rates': {
'fastrates': []
}
};
$scope.appendList = function(rate){
$scope.rateValues.rates.fastrates.push({ value: rate });
}
});
取消选中复选框时不要忘记删除值。取消选中复选框时从数组中删除值
var app = angular.module('plunker', []);
app.controller('MainCtrl', function($scope) {
$scope.resources = {
value: ['100', '200', '300', '400']
}
$scope.rateValues = {
'rates': {
'fastrates': {
'value': [],
}
}
};
$scope.appendList = function(rate) {
var index = $scope.rateValues.rates.fastrates.value.indexOf(rate);
if (index < 0) {
$scope.rateValues.rates.fastrates.value.push(rate);
} else {
$scope.rateValues.rates.fastrates.value.splice(index, 1);
}
}
});
var-app=angular.module('plunker',[]);
应用程序控制器('MainCtrl',函数($scope){
$scope.resources={
值:['100','200','300','400']
}
$scope.rateValues={
“费率”:{
“快速利率”:{
“值”:[],
}
}
};
$scope.appendList=函数(速率){
var指数=$scope.rateValues.rates.fastrates.value.indexOf(汇率);
如果(指数<0){
$scope.rateValues.rates.fastrates.value.push(速率);
}否则{
$scope.rateValues.rates.fastrates.value.splice(索引1);
}
}
});
fastrates
应该是对象,或者更确切地说是值的数组?啊。谢谢你,我已经脑死亡了。这些数据被发送到XML中,所以我想我必须重复相同的键。。。
var app = angular.module('plunker', []);
app.controller('MainCtrl', function($scope) {
$scope.resources = {
value: ['100', '200', '300', '400']
}
$scope.rateValues = {
'rates': {
'fastrates': {
'value': [],
}
}
};
$scope.appendList = function(rate) {
var index = $scope.rateValues.rates.fastrates.value.indexOf(rate);
if (index < 0) {
$scope.rateValues.rates.fastrates.value.push(rate);
} else {
$scope.rateValues.rates.fastrates.value.splice(index, 1);
}
}
});