简体   繁体   English

AngularJs 副本:没有放在表格的第二行

[英]AngularJs copy : does not placed in the second row in table

I have a problem that I'm having a hard time with, I don't know how I can add into second row when I click the button using angularJS it always on the first row, sorry for my english.我有一个很难解决的问题,当我使用 angularJS 单击按钮时,我不知道如何添加到第二行,它总是在第一行,对不起我的英语。

Here's my template这是我的模板

     <div class="col-md-6" style="padding: 0px" ng-if="populateForm">
               
                    <div id="divGrid" class="dv well" ng-repeat="form in populateForm" ng-if="form.field_type == 'gridview'">

                        <div class="row clearfix">     
                          <div class="col-md-9"></div>
                          <div class="col-md-3" >
                               <button type="button"  ng-click="AddRow(form)" data="{{form.field_id}}"  id="AddBtn{{form.field_id}}" class="btn btn-success float-right btnCus"  >+</button>
                               <a  ng-click="removeRow($event)" id="RemBtn{{form.field_id}}" data="{{form.field_id}}" class="btn btn-warning float-right btnCus" ng-disabled="BtnDisable">-</a>
                          </div>
                            <div class="col-md-12 table-responsive " style="padding: 0 3px;" id="parent{{form.field_id}}" >
                                <table class="table table-bordered"  border="" cellpadding="" cellspacing="" style="background-color:white" id="parent{{form.field_id}}">
                                <thead>
                                  <tr >
                                   <th ng-repeat="gridDColumn in form.GridList">{{gridDColumn.field_title}}</th>
                                  </tr>
                                  </thead>
                                   <tbody>
                                     <tr>
                                     <td ng-repeat="gridData in form.GridList">
                             
                                     <div ng-if="gridData.field_type == 'Textbox' && gridData.field_datatype == 'Text'">
                                      <div ng-if="gridData.field_required == 'True'">
                                       <div class="control-group has-feedback">
                                          <div class="Textbox">
                                           <div ng-if="gridData.enable_textformat == 'True'">
                                           <input id="sub{{gridData.field_id }}" name="textinput"   ng-model="gridData.value"   placeholder="{{gridData.field_textformat}}" type="text" ng-required="{{gridData.field_required | lowercase}} && {{gridData.field_standard | lowercase}} == true"   class="col-md-5 rectangle form-control"/>
                                           </div>
                                            <div ng-else>
                                           <input id="sub{{gridData.field_id }}" name="textinput"    ng-model="gridData.value"  type="text"  placeholder=""  ng-required="{{gridData.field_required | lowercase}} && {{gridData.field_standard | lowercase}} == true"  class="{{gridData.field_required}} col-md-5 rectangle form-control"/>
                                           </div>
                                          </div>
                                       </div>
                                      </div>
                                      <div ng-if="gridData.field_required == 'False'">                               
                                          <div class="control-group">
                                          <div class="Textbox">
                                             <div ng-if="gridData.enable_textformat == 'True'">
                                                <input id="sub{{gridData.field_id }}" name="textinput"  ng-model="gridData.value"   placeholder="{{gridData.field_textformat}}" type="text"  ng-required="{{gridData.field_required | lowercase}} && {{gridData.field_standard | lowercase}} == false" class="col-md-5 rectangle form-control"/>
                                             </div>
                                               <div ng-else>
                                             <input id="sub{{gridData.field_id }}" name="textinput"      ng-model="gridData.value"  type="text"  placeholder="" ng-required="{{gridData.field_required | lowercase}} && {{gridData.field_standard | lowercase}} == false" class="{{gridData.field_required}} col-md-5 rectangle form-control"/>
                                           </div>
                                          </div>
                                      </div>
                                     </div>
                                    </div>
                                        <div ng-if="gridData.field_type == 'Textbox' && gridData.field_datatype == 'Numbers'">
                                           <div ng-if="gridData.field_required == 'True'">
                                               <div class="control-group has-feedback">
                                                <div class="Textbox">
                                               <input id="sub{{gridData.field_id }}" name="textinput"  ng-model="gridData.value"  placeholder="numbers" type="text"   class="col-md-5 rectangle form-control numbersonly"/>
                                               </div>
                                               </div>
                                           </div>
                                               <div ng-if="gridData.field_required == 'False'">
                                               <div class="control-group">
                                                <div class="Textbox">
                                               <input id="sub{{gridData.field_id }}" name="textinput"  ng-model="gridData.value"   placeholder="numbers" type="text"   class="col-md-5 rectangle form-control numbersonly"/>
                                               </div>
                                               </div>
                                           </div>
                                            </div>
                                             <div ng-if="gridData.field_type == 'Textbox' && gridData.field_datatype == 'Date'">
                                              <div ng-if="gridData.field_required == 'True'">
                                               <div class="control-group has-feedback">
                                                <div class="Textbox">
                                               <input id="sub{{gridData.field_id }}" name="textinput"  ng-model="gridData.value"  placeholder="numbers" type="text"  datepicker-popup='dd/MM/yyyy' datepicker-options='dateOptions' is-open='openedGrid'  class="col-md-5 rectangle form-control"/>
                                               </div>
                                               </div>
                                           </div>
                                               <div ng-if="gridData.field_required == 'False'">
                                               <div class="control-group">
                                                <div class="Textbox">
                                               <input id="sub{{gridData.field_id }}" name="textinput"  ng-model="gridData.value"   placeholder="numbers" type="text"  datepicker-popup='dd/MM/yyyy' datepicker-options='dateOptions' is-open='openedGrid'  class="col-md-5 rectangle form-control"/>
                                               </div>
                                               </div>
                                           </div>
                                            </div>
                                              <div ng-if="gridData.field_type == 'dropdownList'">
                                          
                                              <div ng-if="gridData.field_required == 'True'">
                                               <div class="control-group has-feedback">
                                                <div class="dropdownList">                                           
                                                 <div  >
                                               <select id="sub{{gridData.field_id }}" ng-model="gridData.value"  class="form-control"  ng-required="true" >
                                                 <option value="" >(Select)</option>
                                              <option ng-repeat="dd in gridData.Newvalue" ng-value="dd.dd_value">
                                             {{dd.dd_text}}
                                               </option>
                                           </select>
                                                 </div>             
                                               </div>
                                             </div>
                                           </div>
                                               <div ng-if="gridData.field_required == 'False'">
                                               <div class="control-group">
                                                <div class="dropdownList">
                                                 <div >
                                                    <select id="sub{{gridData.field_id }}" ng-model="gridData.value"  class="form-control">
                                                    <option value="" >(Select)</option>
                                        <option ng-repeat="dd in gridData.Newvalue" ng-value="dd.dd_value">
                                        {{dd.dd_text}}
                                        </option>
                                     </select>
                                                 </div>
                                             
                                               </div>
                                               </div>
                                           </div>
                                            </div>
                                              <div ng-if="gridData.field_type == 'Checkbox'">
                                               <div class="Checkbox">
                                               <label id="sub{{gridData.field_id }} checkbox" style="font-weight:lighter;" >
                                               <label style="margin-left:-20px;display:none;"> {{gridData.field_desc}}</label>
                                                </br><input id="{{gridData.field_id }}" type='checkbox' class=" gridData.field_required "> 
                                               </label>
                                               </div>
                                               </div>
                                          </td>
                                      </tr>

                                  
                                   </tbody>
                                </table>
                            </div>
                        </div>                              
                     </div>   
                                     
                    </div>

My controller我的 controller

     $scope.AddRow = function (obj) {

                    var se = obj.GridList;
                    var appendValue = "";
                    $scope.counter = 0;
                    angular.forEach(se, function (vals) {

                        var _dat = angular.copy(vals);

                        console.log(vals);


                        se.push(_dat);
                    })
                    }

Example screenshot 1 when button copy is not click.未单击按钮复制时的示例屏幕截图 1。 not click image When button is clicked screenshot 2. output clicked button image I'm beginner I don't know what exactly todo here it always place on the first row not on the second row.不点击图片当点击按钮 screenshot 2. output 点击按钮图片我是初学者 我不知道这里到底要做什么它总是放在第一行而不是第二行。

$scope.AddRow = function (obj) {
    var gridData = obj.GridList;
    var appendValue = "";
    $scope.counter = 0;
    var last_row = _.last(gridData);
    console.log(last_row);
    if (last_row) {
        gridData.push(last_row);
    } else {
        gridData.push({
            title: null,
            name: null,
        });
    }
}

Use Underscorejs and get the last row and push directly without for each loop.使用 Underscorejs 并获取最后一行并直接推送而不需要每个循环。 https://underscorejs.org/#last https://underscorejs.org/#last

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM