Javascript 在ng repeat中使用ng模型以AngularJS形式提交数据
我遇到了和中相同的问题,但那里的解决方案对我不起作用 我正在学习AngularJS,我正在努力使用Javascript 在ng repeat中使用ng模型以AngularJS形式提交数据,javascript,angularjs,Javascript,Angularjs,我遇到了和中相同的问题,但那里的解决方案对我不起作用 我正在学习AngularJS,我正在努力使用ng model内部的ng repeat提交表单数据。我有一份团体成员名单,以及他们上次参加的日期: [{"name": "Bob", "attended": "01/01/16"}, {"name":"Steve", "attended": "02/01/16"}] 我正在使用ng repeat列出所有成员,并希望能够从每行的表单中更新“attended”字段。然而,我无法得到“照顾”以正确绑定
ng model
内部的ng repeat
提交表单数据。我有一份团体成员名单,以及他们上次参加的日期:
[{"name": "Bob", "attended": "01/01/16"},
{"name":"Steve", "attended": "02/01/16"}]
我正在使用ng repeat
列出所有成员,并希望能够从每行的表单中更新“attended”字段。然而,我无法得到“照顾”以正确绑定。代码如下:
<div ng-repeat="member in members">
{{member.name}}
<input type="text" ng-model="attended"></input>
<a href="#" ng-click="setAttended(attended)">Save</a>
</div>
$scope.setAttended = function(attended){
alert( 'Date: ' + attended);
};
{{member.name}
$scope.setAttended=功能(有人参与){
警报(“日期:”+出席);
};
警报显示“日期:未定义”。我还尝试使用对象而不是基本体:
<div ng-repeat="member in members">
{{member.name}}
<input type="text" ng-model="member.attended"></input>
<a href="#" ng-click="setAttended(member)">Save</a>
</div>
$scope.setAttended = function(member){
alert( 'Date: ' + member.attended);
};
{{member.name}
$scope.setAttended=函数(成员){
警报(“日期:”+成员出席);
};
我知道ng repeat
将为每个对象创建一个新的作用域,这些作用域从父作用域继承setAttended
。我发现父作用域不知道子作用域中发生了什么,因此参数必须让它知道
为什么我的参数不包含我的输入值
在我运行
设置之前,输入是否未正确绑定到模型?请尝试以下代码并向我反馈:
<div ng-repeat="member in members">
{{member.name}}
<input type="text" ng-model="members[$index].attended"></input>
<a href="#" ng-click="setAttended(members[$index].attended)">Save</a>
</div>
$scope.setAttended = function(attended){
alert( 'Date: ' + attended);
};
{{member.name}
$scope.setAttended=功能(有人参与){
警报(“日期:”+出席);
};
请尝试以下代码并反馈给我:
<div ng-repeat="member in members">
{{member.name}}
<input type="text" ng-model="members[$index].attended"></input>
<a href="#" ng-click="setAttended(members[$index].attended)">Save</a>
</div>
$scope.setAttended = function(attended){
alert( 'Date: ' + attended);
};
{{member.name}
$scope.setAttended=功能(有人参与){
警报(“日期:”+出席);
};
使用此
,它指的是ng repeat
函数中正确的范围
对象
var-app=angular.module('plunker',[]);
应用程序控制器('MainCtrl',函数($scope){
$scope.members=[{“name”:“Bob”,“attended”:“01/01/16”},
{“姓名”:“史蒂夫”,“出席”:“02/01/16”}];
$scope.setAttended=函数(成员){
警报('Date:'+this.attended);
};
});代码>
{{member.name}
使用此
,它指的是ng repeat
函数中正确的范围
对象
var-app=angular.module('plunker',[]);
应用程序控制器('MainCtrl',函数($scope){
$scope.members=[{“name”:“Bob”,“attended”:“01/01/16”},
{“姓名”:“史蒂夫”,“出席”:“02/01/16”}];
$scope.setAttended=函数(成员){
警报('Date:'+this.attended);
};
});代码>
{{member.name}
实际上它对我很有用。请参阅下面的代码片段
标题
{{member.name}
var-app=angular.module(“myApp”,[]);
app.controller(“myController”,函数($scope){
$scope.members=[{
“姓名”:“鲍勃”,
“出席”:“2016年1月1日”
}, {
“姓名”:“史蒂夫”,
“出席”:“2016年1月2日”
}];
$scope.setAttended=函数(成员){
警报(“日期:”+成员出席);
}
});
实际上它对我很有用。请参阅下面的代码片段
标题
{{member.name}
var-app=angular.module(“myApp”,[]);
app.controller(“myController”,函数($scope){
$scope.members=[{
“姓名”:“鲍勃”,
“出席”:“2016年1月1日”
}, {
“姓名”:“史蒂夫”,
“出席”:“2016年1月2日”
}];
$scope.setAttended=函数(成员){
警报(“日期:”+成员出席);
}
});
你说得对,它确实有效。问题是我在现场使用的JQuery日期选择器。如果我从日期选择器中选择一个日期,则模型不会更新。如果我选择一个日期,然后手动在字段中键入任何内容,它会更新模型。没错,它确实有效。问题是我在现场使用的JQuery日期选择器。如果我从日期选择器中选择一个日期,则模型不会更新。如果我选择了一个日期,然后手动在字段中键入任何内容,它会更新模型。