Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在多个元素上使用相同的ng模型_Javascript_Html_Angularjs_Input_Angular Ngmodel - Fatal编程技术网

Javascript 如何在多个元素上使用相同的ng模型

Javascript 如何在多个元素上使用相同的ng模型,javascript,html,angularjs,input,angular-ngmodel,Javascript,Html,Angularjs,Input,Angular Ngmodel,这里是AngularJS的新成员。我有一个页面,将有一个未定义的输入框,用户将在其中输入跟踪编号。可能只有1个,也可能有10个 我需要从每个输入框中获取数据。我现在陷入困境,因为我不知道如何从所有输入框中获取所有数据;我只能从第一个数据库获取数据 HTML 我尝试过的:我尝试过谷歌搜索,但没有运气。我已尝试将$scope.inBox替换为$scope.inBox[1]或$scope.inBox[2]。不走运 从输入框中获取每个数据的最佳方式是什么 更新 为了获得所需的解决方案,我将jQuer

这里是AngularJS的新成员。我有一个页面,将有一个未定义的输入框,用户将在其中输入跟踪编号。可能只有1个,也可能有10个

我需要从每个输入框中获取数据。我现在陷入困境,因为我不知道如何从所有输入框中获取所有数据;我只能从第一个数据库获取数据

HTML


我尝试过的:我尝试过谷歌搜索,但没有运气。我已尝试将
$scope.inBox
替换为
$scope.inBox[1]
$scope.inBox[2]
。不走运

从输入框中获取每个数据的最佳方式是什么

更新


为了获得所需的解决方案,我将jQuery放在AngularJS函数中。我的新AngularJS函数如下所示:

$scope.insert = function() {
    $('.scan-packages').each(function() {
        console.log(this.value);
    });
};

从技术上讲,我已经解决了这个问题,但我使用jQuery解决了这个问题。如果有人想将上述解决方案转化为我将如何使用纯AngularJS获得该解决方案,请随意这样做,这样我就可以使用该解决方案,并为您回答这些问题提供积分。

我不明白为什么您需要通过jQuery添加输入字段,这样您就走出了AngularJS的生命周期

在AngularJS中,视图模型的投影,因此,如果要添加更多字段,需要(在我的示例中)将新对象添加到$scope的fields属性中

顺便说一句,如果您希望或需要在AngularJS生命周期之外进行操作,Angular为您提供了许多方法,例如,如果存在jQuery,Angular会识别它,并使用.scope()等方法对其进行修饰,使您能够从视图访问模型。 注意:因为您不在AngularJS环境中,所以需要手动触发
[查看模型同步过程][1]
(这就是我使用scope.$apply的原因)

angular
.module('测试',[]))
.controller('TestCtrl',函数($scope){
var vm=$scope;
vm.fields=[
{
名称:“trackId1”,
价值:“123xxbb110000”
},
{
名称:'trackId2',
值:“123xxbb110001”
},
{
名称:“trackId3”,
值:“123xxbb110002”
},
{
名称:'trackId4',
值:“123xxbb110003”
}
];
vm.addField=函数(事件){
vm.fields.push({
名称:Date.now(),
值:“AngularJS”
});
};
})
;
jQuery(文档).ready(函数($){
console.log('ready');
$(“#添加字段”)。单击(函数(){
var scope=$('[ng controller=“TestCtrl”]')。scope();
作用域$apply(函数(){
scope.fields.push({
trackId:Date.now(),
值:“”
});
});
});
});
.debug{
宽度:100%;
背景:轻海绿色;
填充:5px15px;
边缘:.5em0;
线高:1;
}

通过AngularJS添加字段

通过jQuery添加字段
能否显示jQuery?似乎您应该使用
ng repeat
嘿,谢谢您的回复。我已经使用ng repeat显示了一些项目。我会试着在一点时间内发布它。重申一下,当我的用户点击submit按钮时,Angular函数会提取第一个输入框中的任何内容,但我不知道,也找不到提取其余内容的语法。嘿,感谢您的回复。所以,我提到的第一件事是:“这里对AngularJS来说是全新的。”不确定这是否符合你的第一句话。无论如何,我必须仔细看看这个答案,因为它完全改变了我目前的工作。我相信你很可能已经找到了一个比我更好的方法,但是因为这是一个时间敏感的项目,我特别问你如何做其中的一部分。一旦我有更多的时间,我会尝试重新学习你发布的工作流程。
var app = angular.module("myApp", []);
app.controller("mailroomController", function($scope, $http) {
    $scope.insert = function() {
        alert($scope.inBox);
    };
});
$scope.insert = function() {
    $('.scan-packages').each(function() {
        console.log(this.value);
    });
};