繁体   English   中英

angularjs创建动态表单元素

[英]angularjs creating dynamic form elements

我有这样的html元素:

<body ng-controller="addController">
<div class="col-sm-10">

    <label class="control-label">tableName:</label> 
    <fieldset ng-repeat="tableName in tableNames">

        <input type="text" class="form-control" ng-model="tableName.tableName" /><br />
    </fieldset>
    <button class="btn btn-default" ng-click="addNewTable()">Add tablename</button>
    <input type="submit" ng-click="add()" />    
</div>
<div>
   <pre>{{tableNames|json}}</pre> 
</div>
</body>

每次单击按钮时,此代码都会生成一个文本框。

JS:

function addController($scope, $http) {

        $scope.tableNames = [];
        $scope.addNewTable = function (tableName) {
            $scope.tableNames.push({});

        }
}

当我显示tableNames时,它给了我:

[{"tableName":"textboxvalue"},{"tableName":"textboxvalue"}];

但是我打算得到的输出:

[{"tableName1":"textboxvalue","tableName2":"textboxvalue","tableName3":"textboxvalue"}];

为了获得所需的输出,我应该在设计上进行哪些更改。 提前致谢。

您每次都将对象推入数组,但是您想要在数组的对象中添加键值对。 尝试这个

 $scope.tableNames = [{}];
    $scope.addNewTable = function (tableName) {
        $scope.tableNames[0].tableName = "textboxvalue" ;

    }

暂无
暂无

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

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