2013-08-07 41 views
15

Tôi có danh sách các hộp kiểm được điền động bằng cách sử dụng góc cạnh.Góc được chọn Hộp kiểm đã chọn

<div ng-repeat="X in XList"> 
    <label>{{X.Header}}</label> 
    <input type="checkbox" name="X" value="{{X.Item.Id}}" /> 
    <p>{{X.Header}}</p> 
</div> 

Tôi muốn có một phương pháp để truy xuất danh sách tất cả các hộp kiểm đã chọn. Thông thường tôi muốn sử dụng

$('input[name=checkboxlist]:checked').each(function() 
{ 
} 

Nhưng điều này là không thể chấp nhận với góc .... Vậy là có một phương pháp thích hợp để làm như vậy?

Trả lời

14

đây là thực hiện plunker

<input type="checkbox" ng-model="selected[record.Id]"> {{record.Id}} 

$scope.ShowSelected = function() { 
    console.log($scope.selected); 
    alert(JSON.stringify($scope.selected)); 
}; 
+0

Thật tuyệt vời, nhưng khi tôi kiểm tra một trong các hộp kiểm, thông báo này xảy ra: Lỗi: không thể chuyển đổi không xác định thành đối tượng –

+0

Tôi không nhận được những gì bạn đang cố gắng nói, bạn có thể xây dựng trong điều kiện nào bạn gặp lỗi không? tôi không thấy bất kỳ lỗi nào trong khi chọn hộp kiểm. –

+0

Có, tại mã của bạn nó hoạt động rất tốt, nhưng khi tôi thêm "ng-model = selected []" vào mã của tôi, khi tôi cố gắng chọn một trong các hộp kiểm, tôi nhận được lỗi đó. –

1

Bạn có thể sử dụng chỉ thị ng-model để liên kết trực tiếp thuộc tính với phần tử.

ví dụ:

<input type="checkbox" ng-model="X.Item.Id" /> 

Điều này sẽ cập nhật mô hình của bạn.

Từ đó bạn sẽ chỉ có thể kiểm tra các giá trị trong mô hình của bạn và xem những giá trị nào được chọn.

ví dụ:

angular.forEach($scope.yourModelItems, function(item){ 
    // item.value ? 0 : 1; 
}); 

Kiểm tra tài liệu cho ngModel. Ngoài ra, ví dụ danh sách ToDo trên trang chủ angularjs.org thể hiện điều này.

p.s. Trên một lưu ý phụ, bạn cũng có thể làm cho chỉ thị góc của bạn html5 thân thiện bằng cách thêm data- trước đây. ví dụ. data-ng-model="X.Item.Id"

+0

Cảm ơn rất nhiều, sẽ nó có thể xảy ra nếu bạn đã đề cập phương pháp kiểm tra? –

+0

Bạn cần phải đăng mã của mô hình để tôi có thể thấy các giá trị. –

0
<tr ng-repeat="x in numbers" > 
<td><input type="checkbox" ng-model="selected[x.id]"></td>`<tr ng-repeat="x in numbers" > 

sau đó nút cho hành động

<button ng-click="get_all_cheked()">Get checked</button>  

và sau đó trong bộ điều khiển

$scope.selected = {}; 
$scope.get_all_cheked=function() { 
console.log("click"); 
console.log($scope.selected); 
} 
Các vấn đề liên quan