如何在范围变量angularjs

时间:2016-11-23 08:21:31

标签: javascript angularjs angularjs-directive angularjs-scope

我想在我的Values变量中存储文本框值,但它不保存我不知道为什么有人帮我请???我是angularjs的新手,这就是为什么我在这里请帮助我,我想要文本框中的商店值,我输入我的文本框ff fff见下图,但我检查我的控制台文件其显示'网站名称'我认为它来自我的硬编码值,但我想要来自文本框的数据

     $scope.form =  {
        site_name: 'Site name',
        street_address: 'Street address',
        city: 'City',
        state: 'state',
        country: 'country',
        zip_code: 'zip_code',
        phone_number: 'phone_number'

      };   
       $scope.addRow = function() {
        $scope.i++;
        $scope.array = [];
        for(var i = 0; i < $scope.i; i++) {
            $scope.array.push(i);
        }
    }  
        var checkprofile = $scope.Profile.id;
         $(".alert").hide();    
          $scope.updateProfile = function () {   

               console.log( 'updateProfile');
             console.log( $scope.form);   
 $scope.Profile.addresses.push($scope.form);
            $scope.tempObject={full_name:$scope.Profile.full_name,
              mobile_number:$scope.Profile.mobile_number,
             company_name:$scope.Profile.company_name,
             designation: $scope.Profile.designation,    
            addresses: $scope.Profile.addresses,

            payment_info: $scope.Profile.payment_info

           };  

           $http.put(properties.customerupdate_path + "/"+checkprofile,$scope.tempObject).success(function (response) { 
           // window.location.href = '/customerprofile';
                });
            }    

我在我的文本框中输入值'ff''ff''ff'后单击按钮...下面的代码没有从文本框中获取数据它得到我的上述值我不知道为什么

  $scope.updateProfile = function () {    
           console.log( 'updateProfile');
         console.log( $scope.Values );   
  

//结果 - &gt; [对象{site_name =“网站名称”,street_address =“街道   地址“,城市=”城市“,更多......}]

}

HTML //

 <tr ng-repeat="lines in array">
    <td><input type="text" class="form-control" id="inputDefault"  ng-model='Values.site_name ' name='site_name'></td>
    <td><input type="text" class="form-control" id="inputDefault"  ng-model='Values.street_address ' name='street_address'></td>
    <td><input type="text" class="form-control" id="inputDefault"  ng-model='Values.city ' name='city'></td>
    <td><input type="text" class="form-control" id="inputDefault"  ng-model='Values.state ' name='state'></td>
    <td><input type="text" class="form-control" id="inputDefault"  ng-model='Values.country ' name='country'></td>
    <td><input type="text" class="form-control" id="inputDefault"  ng-model='Values.zip_code ' name='zip_code'></td>
    <td><input type="text" class="form-control" id="inputDefault"  ng-model='Values.phone_number ' name='phone_number'></td>                                        
</tr>

更新个人资料

enter image description here

2 个答案:

答案 0 :(得分:1)

$scope.values = {
    site_name: 'Site name',
    street_address: 'Street address',
    city: 'City'
};

<tr>
    <td><input type="text" class="form-control" id="inputDefault"  ng-model='values.site_name ' name='site_name'></td>
    <td><input type="text" class="form-control" id="inputDefault"  ng-model='values.street_address ' name='street_address'></td>
    <td><input type="text" class="form-control" id="inputDefault"  ng-model='values.city ' name='city'></td>
    <td><input type="text" class="form-control" id="inputDefault"  ng-model='values.state ' name='state'></td>
    <td><input type="text" class="form-control" id="inputDefault"  ng-model='values.country ' name='country'></td>
    <td><input type="text" class="form-control" id="inputDefault"  ng-model='Values.zip_code ' name='zip_code'></td>
    <td><input type="text" class="form-control" id="inputDefault"  ng-model='values.phone_number ' name='phone_number'></td>
</tr>

您不使用数组来存储变量,而是使用对象。

答案 1 :(得分:0)

您正在尝试迭代一个对象。您的模型应该是一个数组,以支持这一点。你的其余代码就好了。将您的值替换为:

 $scope.Values =  [
     {
       site_name: 'Site name',
       street_address: 'Street address',
       city: 'City',
       state: 'state',
       country: 'country',
       zip_code: 'zip_code',
       phone_number: 'phone_number'
    }, 
    { //next object
    }
];