Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.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 AngularJS具有ng重复的动态形式_Javascript_Angularjs_Angularjs Ng Repeat_Angularjs Forms - Fatal编程技术网

Javascript AngularJS具有ng重复的动态形式

Javascript AngularJS具有ng重复的动态形式,javascript,angularjs,angularjs-ng-repeat,angularjs-forms,Javascript,Angularjs,Angularjs Ng Repeat,Angularjs Forms,我正在使用AngularJS动态表单。根据我的userid值,我使用ng repeat生成了具有相同模型名的多个表单字段。由于此ng重复,我无法获取此输入模型值。在本例中,我使用的是静态用户ID数据 <div ng-app="myApp"> <div ng-controller="myCtrl"> <form role="form" name='userForm' novalidate> <div class="container

我正在使用AngularJS动态表单。根据我的userid值,我使用ng repeat生成了具有相同模型名的多个表单字段。由于此ng重复,我无法获取此输入模型值。在本例中,我使用的是静态用户ID数据

<div ng-app="myApp">
<div ng-controller="myCtrl">
    <form role="form" name='userForm' novalidate>
        <div class="container">
            <div class="row" ng-repeat="myid in userid">
                <div class="form-group">
                    <div class="col-md-3">
                        <label>ID</label>
                        <input ng-model="myid" id="myid" name="myid" placeholder="Enter bugid" type="text" required readonly disabled>
                    </div>
                    <div class="col-md-3">
                        <label>Comments</label>
                        <textarea ng-model="manualComment" id="textarea1" rows="1" required></textarea>
                    </div>

                    <div class="col-md-3 ">
                        <label>Gender</label>

                        <select ng-model="gender" name="select2" required>
                            <option value="male">Male</option>
                            <option value="female">Female</option>

                        </select>
                    </div>
                </div>

            </div>
        </div>
        <div class="buttonContainer text-center btn-container">
            <br>
            <button ng-disabled="userForm.$invalid" type="button" id="adduser" ng-click="adduser">Add user</button>
            <button type="button" class="btn button--default btn--small pull-center">Close</button>
        </div>
    </form>
</div>
我需要向我的服务器发送对象数组。我的用户ID也是动态的,因为它有100多个数据。如何获取每个数据字段模型值?如何将这些模型数据转换成像我的sampleserver数据这样的对象数组

我希望我的最终输出数据是这样的

var sampleServerData = [{
        "userid": 1,
        "manualcomment": "mycmt1",
        "gender": "male"
    }, {
        "userid": 2,
        "manualcomment": "mycmt2",
        "gender": "male"
    }, {
        "userid": 3,
        "manualcomment": "mycmt3",
        "gender": "female"
    }]

您应该将textareaid更改为,或者在用户对象中创建一个textarea id(详细信息如下)

如果必须使用的id位于数组中,则基于您的id数组创建对象数组

var ids = [1, 2, 3];
var users = ids.map(function(id) {
   return {id: id, comment: "", gender: ""};
})
我想我有一个解决方案给你,我给你做了一个。确保您点击了RunwithJS按钮,因为某些原因,它不会在加载时运行

HTML
您应该将textareaid更改为,或者在用户对象中创建一个textarea id(详细信息如下)

如果必须使用的id位于数组中,则基于您的id数组创建对象数组

var ids = [1, 2, 3];
var users = ids.map(function(id) {
   return {id: id, comment: "", gender: ""};
})
我想我有一个解决方案给你,我给你做了一个。确保您点击了RunwithJS按钮,因为某些原因,它不会在加载时运行

HTML
在你的HTML文件中,你可以这样调用ng repeat;


在你的HTML文件中,你可以这样调用ng repeat;


您可以在ng repat中使用track by$index,然后对模型使用索引

<div class="row" ng-repeat="myid in userid track by $index">

<div class="form-group">
                    <div class="col-md-3">
                        <label>ID</label>
                        <input ng-model="userId[$index].id" id="myid"name="myid" placeholder="Enter bugid" type="text" required readonly disabled>
                    </div>
                    <div class="col-md-3">
                        <label>Comments</label>
                        <textarea ng-model="userId[$index].manualcomment" id="textarea1" rows="1" required></textarea>
                    </div>

                    <div class="col-md-3 ">
                        <label>Gender</label>

                        <select ng-model="userId[$index].gender" name="select2" required>
                            <option value="male">Male</option>
                            <option value="female">Female</option>

                        </select>
                    </div>

身份证件
评论
性别
男性
女性

您可以在ng repat中使用track by$index,然后对模型使用索引

<div class="row" ng-repeat="myid in userid track by $index">

<div class="form-group">
                    <div class="col-md-3">
                        <label>ID</label>
                        <input ng-model="userId[$index].id" id="myid"name="myid" placeholder="Enter bugid" type="text" required readonly disabled>
                    </div>
                    <div class="col-md-3">
                        <label>Comments</label>
                        <textarea ng-model="userId[$index].manualcomment" id="textarea1" rows="1" required></textarea>
                    </div>

                    <div class="col-md-3 ">
                        <label>Gender</label>

                        <select ng-model="userId[$index].gender" name="select2" required>
                            <option value="male">Male</option>
                            <option value="female">Female</option>

                        </select>
                    </div>

身份证件
评论
性别
男性
女性

您还没有将数据作为对象数组获取吗?没有,我没有获取任何对象数组。即使我没有从该表单获取任何模型值。我正在从上一页获取用户id数组。在这里,我只为我的userid提供了静态数据。根据这个用户ID,我正在生成表单。我还提到了我预期的最终输出数据。请发送此示例提琴。您还没有将数据作为对象数组获取吗?没有,我没有获取任何对象数组。即使我没有从该表单获取任何模型值。我正在从上一页获取用户id数组。在这里,我只为我的userid提供了静态数据。根据这个用户ID,我正在生成表单。我还提到了我预期的最终输出数据。请发送样品小提琴为这个。这个答案对我很有帮助。根据我的新要求,我需要在页面运行后默认情况下在选择框中加载第一个选项值。我需要加载第一个值。将来,我将在选择框中加载100多个选项值,而不是性别。默认情况下,第一个选项的值应该加载到选择框中。你能发送那个提琴示例吗?这里我得到3张表格。我需要删除第二张表格和其他2张表格数据,我需要打印。这个答案对我很有帮助。根据我的新要求,我需要在页面运行后默认情况下在选择框中加载第一个选项值。我需要加载第一个值。将来,我将在选择框中加载100多个选项值,而不是性别。默认情况下,第一个选项的值应该加载到选择框中。你能发送那个提琴示例吗?这里我得到3张表格。我需要删除第二张表格和其他2张表格数据,我需要打印。我该怎么做
<div ng-app="myApp">
    <div ng-controller="myCtrl">
        <form role="form" name='userForm' novalidate>
            <div class="container">
                <div class="row" ng-repeat="myid in userId">
                    <div class="form-group">
                        <div class="col-md-3">
                            <label>ID</label>
                            <input ng-model="userId[$index].id" id="myid"name="myid" placeholder="Enter bugid" type="text" required readonly disabled>
                        </div>
                        <div class="col-md-3">
                            <label>Comments</label>
                            <textarea ng-model="userId[$index].manualcomment" id="textarea1" rows="1" required></textarea>
                        </div>

                        <div class="col-md-3 ">
                            <label>Gender</label>

                            <select ng-model="userId[$index].gender" name="select2" required>
                                <option value="male">Male</option>
                                <option value="female">Female</option>

                            </select>
                        </div>
                    </div>

                </div>
            </div>
            <div class="buttonContainer text-center btn-container">
                <br>
                <button ng-disabled="userForm.$invalid" type="button" id="adduser" ng-click="addusers()">Add user</button>
                <button type="button" class="btn button--default btn--small pull-center">Close</button>
            </div>
        </form>
    </div>
<div class="row" ng-repeat="myid in userid track by $index">

<div class="form-group">
                    <div class="col-md-3">
                        <label>ID</label>
                        <input ng-model="userId[$index].id" id="myid"name="myid" placeholder="Enter bugid" type="text" required readonly disabled>
                    </div>
                    <div class="col-md-3">
                        <label>Comments</label>
                        <textarea ng-model="userId[$index].manualcomment" id="textarea1" rows="1" required></textarea>
                    </div>

                    <div class="col-md-3 ">
                        <label>Gender</label>

                        <select ng-model="userId[$index].gender" name="select2" required>
                            <option value="male">Male</option>
                            <option value="female">Female</option>

                        </select>
                    </div>