2013-07-22 27 views
6

Vì vậy, tôi cần biết tính năng bổ sung của ô tô so với người dùng muốn đưa vào tùy chọn của mình. Tôi đang cố gắng tạo hộp kiểm đầu vào từ một mảng thu được bằng một yêu cầu ajax và tạo đầu vào bằng ng-repeat. Mục tiêu chính là biết các hộp kiểm được người dùng chọn. Tôi muốn rằng cách tiếp cận của tôi là tạo ra một mảng tương tự có chứa những cái được chọn, nhưng tôi không biết làm thế nào để thiết lập một mô hình ng duy nhất cho mọi mục trong lặp lại ng-lặp để tôi có thể biết danh sách được chọn mặt hàng. Tôi đoán có cái gì đó còn lại trong kiến ​​thức của tôi về góc cạnh. Dưới đây là những gì tôi có bây giờ ..Thuộc tính Ng-mô hình trong hộp kiểm đầu vào ng-lặp được luôn luôn theo nghĩa đen hoặc đưa ra lỗi

Trong bộ điều khiển ...

$http.get('/ajax/ajax_get_extras/'+$scope.car.version+'/false').success(function(data) { 
       $scope.extras = data; 
     }); 
$scope.addExtra = function(){ // ... manage the auxiliar array } 

Trong html ...

<div ng-controller="Controller"> 
     <form novalidate class="simple-form"> 
      <span ng-repeat="extra in extras"> 
       <input type="checkbox" ng-model="extra.id" ng-change="addExtra()" name="extra_{{extra.id}}" >{{extra.name}} - <strong>{{extra.real_price | onlynumber | currency}}</strong> 
      </span> 
     </form> 
</div> 

Và tôi đang mắc kẹt kể từ khi doesnt extra.id chuyển đến extra.id sản và vẫn như là một chuỗi "extra.id"> _ <

tôi đã cố gắng thêm _ {{}} extra.id, extra.id, {{extra.id}}, $ chỉ số làm mô hình ngụy trang và không hoạt động.

+0

động cơ thực của bạn, bạn có thể vui lòng giải thích là gì !! –

+0

mục tiêu chính (động cơ thực) là biết các hộp kiểm được người dùng chọn, tôi đã cập nhật câu hỏi để có thể rõ ràng hơn. – R01010010

+3

đây là câu hỏi tương tự bạn có thể nhận được ý tưởng hay từ đây: http: //stackoverflow.com/questions/17614361/how-to-update-ng-model-dynamically-in-ng-repeat/17614803#17614803 –

Trả lời

13

Trong AngularJS 1.1.5 có "theo dõi" mà bạn có thể sử dụng trong ngRepeat.

Vì vậy, bạn có thể:

<input type="checkbox" ng-repeat="e in extra track by $index" ng-model="extra[$index]"> 

Dưới đây là một ví dụ: http://plnkr.co/edit/6lNo6R5EPsNGHUU6ufTE?p=preview

+0

cũng đã hoạt động! – R01010010