来自输入类型的ng-model值= ng-repeat内的数字AngularJS

时间:2017-08-29 06:34:25

标签: angularjs

我尝试从输入编号中控制表.log中的每个值,但我只收到10 - 在script.js中分配的值。我不想在console.log那个值,你在输入数字中选择。 我的傻瓜:http://plnkr.co/edit/g1t4pludTTIAJYKTToCK?p=preview

代码:

 <table class="table table-bordered table-striped">
    <thead>
        <tr>
            <th>Name</th>
            <th>System </th>
            <th>Actions</th>
        </tr>
    </thead>
    <tbody>
        <tr ng-repeat="n in data">
            <td style="word-break:break-all;">{{n.name}}</td>
            <td>{{n.system}}</td>
            <td>
                <input class="form-control input-sm" type="number"
                       name="input" ng-model="value" min="0" max="100">
            </td>
            <td>
                <button ng-click="postvalue()">Value</button>
            </td>
        </tr>
    </tbody>
</table>

提前感谢您的回答!

4 个答案:

答案 0 :(得分:2)

您可以为ng-repeat添加属性,例如 if (c != '\n') printf("%d\n",c); 。现在,数组的每个对象都将包含一个value属性,该属性将保存输入值

n.value
// Code goes here
var app = angular.module('app', []);
app.controller('FirstCtrl', function($scope) {
    $scope.data = [{
        "name": "Tiger Nixon",
        "system": "System Architect"
    }, {
        "name": "Tiger Nixon",
        "system": "System Architect"
    }, {
        "name": "Tiger Nixon",
        "system": "System Architect"
    }, {
        "name": "Tiger Nixon",
        "system": "System Architect"
    }, {
        "name": "Tiger Nixon",
        "system": "System Architect"
    }];
    $scope.postvalue = function(n) {
        console.log(n.value);
    };
});

答案 1 :(得分:1)

是的,因为您已将$scope.value设置为10.如果您想将文本框值初始设置为10,请使用ng-init

<input class="form-control input-sm" type="number" name="input"
       ng-model="value" ng-init="value=10" min="0" max="100">

答案 2 :(得分:0)

您需要在postValue函数中传递body,如下所示:

&#13;
&#13;
url
&#13;
ng-model="value"
&#13;
&#13;
&#13;

答案 3 :(得分:0)

您可以尝试以下方法: 在HTML文件中改变它:

 <td><button ng-click="postvalue(n)">Value</button></td>



   $scope.postvalue = function(n){
     $scope.data.filter(function(data){
    if(n.name==data.name){
    console.log("Name:"+n.name);
    return n.name;
    }
    });

愿这对您有所帮助: