Angularjs 如何清除动态ng重复表单字段
问题:如何清除动态创建的Angularjs 如何清除动态ng重复表单字段,angularjs,forms,ng-repeat,Angularjs,Forms,Ng Repeat,问题:如何清除动态创建的ng repeatAngularJS表单字段?如果你能找到一个我没有找到答案的地方,我会很惊讶 背景:我让AngularJS通过服务将JSON拉入我的控制器。然后我使用scope为表单重复标签。我清理田地有困难。因为文字不能准确地告诉你我在这里做什么,所以基本的代码设置。我把它删减到几行 我尝试了旧的$scope.formName.inputName=“”和$scope.inputName=“”,但它们不起作用。有什么想法或方向吗 {{item.desc}} 清楚的
ng repeat
AngularJS表单字段?如果你能找到一个我没有找到答案的地方,我会很惊讶
背景:我让AngularJS通过服务将JSON拉入我的控制器。然后我使用scope为表单重复标签。我清理田地有困难。因为文字不能准确地告诉你我在这里做什么,所以基本的代码设置。我把它删减到几行
我尝试了旧的$scope.formName.inputName=“”
和$scope.inputName=“”代码>,但它们不起作用。有什么想法或方向吗
{{item.desc}}
清楚的
var-app=angular.module(“app”,[]);
应用控制器(“应用测试”,功能($scope){
$scope.currentInfo={
“属性”:[
{
“名称”:“账户”,
“描述”:“账户”,
},
{
“名称”:“FNAME”,
“描述”:“名字”,
“类型”:“VARCHAR”,
“验证”:“^[a-zA-Z\\s]+”
},
{
“名称”:“LNAME”,
“描述”:“姓氏”,
“类型”:“VARCHAR”,
“验证”:“^[a-zA-Z\\s]+”
},
{
“名称”:“MNAME”,
“描述”:“中间名”,
“类型”:“字符”,
“验证”:“^[a-zA-Z]+[1-9]+”
}
]
};
$scope.clearMe=函数(){
$scope.forminput=“”;
};
});
通过将forinput设置为对象并使用键创建唯一的模型,您正在重复单个ngmodel=“forminput”
为每个对象使用唯一的ngmodel=“forminput[item.desc]”
首先在你的控制器
$scope.forminput = {};
$scope.formmodel = {};
然后在视图中,将输入更改为
演示:
//代码在这里
var-app=angular.module(“app”,[]);
应用控制器(“应用测试”,功能($scope){
$scope.forminput={};
$scope.currentInfo={
“属性”:[
{
“名称”:“账户”,
“描述”:“账户”,
},
{
“名称”:“FNAME”,
“描述”:“名字”,
“类型”:“VARCHAR”,
“验证”:“^[a-zA-Z\\s]+”
},
{
“名称”:“LNAME”,
“描述”:“姓氏”,
“类型”:“VARCHAR”,
“验证”:“^[a-zA-Z\\s]+”
},
{
“名称”:“MNAME”,
“描述”:“中间名”,
“类型”:“字符”,
“验证”:“^[a-zA-Z]+[1-9]+”
}
]
};
$scope.clearMe=函数(){
console.log(“herleme”)
$scope.forminput={};
};
});代码>
你好,普朗克!
{{item.desc}}
清楚的
如果我理解,您想单击“清除”按钮清除表单中的所有字段吗
以下是一个工作版本:
var-app=angular.module(“app”,[]);
应用控制器(“应用测试”,功能($scope){
$scope.currentInfo={
“属性”:[
{
“名称”:“账户”,
“描述”:“账户”,
},
{
“名称”:“FNAME”,
“描述”:“名字”,
“类型”:“VARCHAR”,
“验证”:“^[a-zA-Z\\s]+”
},
{
“名称”:“LNAME”,
“描述”:“姓氏”,
“类型”:“VARCHAR”,
“验证”:“^[a-zA-Z\\s]+”
},
{
“名称”:“MNAME”,
“描述”:“中间名”,
“类型”:“字符”,
“验证”:“^[a-zA-Z]+[1-9]+”
}
]
};
$scope.clearMe=函数(){
对于(变量i=0;i<$scope.currentInfo.attribute.length;i++){
$scope.currentInfo.attribute[i]。forminput='';
}
};
});
你好,普朗克!
{{item.desc}}
清楚的
我使用了currentInfo模型本身来绑定输入值。这意味着它们将在ng repeat的范围之外可用。然后clear函数遍历“attributes”数组中的每个项,并将值设置为空字符串。您的路径是正确的,但有轻微的错误。所有生成的表单都绑定到同一个模型-forminput。您必须动态生成模型绑定
<input name="forminput" ng-model="formmodel[item.name]"/>
查看
另外,对于生成的表单,请检查项目,因为不需要重新发明轮子。rom99非常感谢!我盯着这段代码看了很久,甚至想不出答案。答:我可以认为这是一种非常有角度的方式,而不是通过对象递归,只是将对象设回空。谢谢大家!@bluevman gald它帮助了你,接受它作为回答,这样它也可以帮助母亲:)
<input name="forminput" ng-model="formmodel[item.name]"/>
$scope.formmodel = {};