2013-09-24 32 views
5
.div(ng-repeat='item in items') 
    button(id='ID{{$index}}') No Hi 

button(id='anotherID1') Hi 

bên liên quan Chỉ gócGiving id duy nhất cho mỗi mục trong `ng-repeat` cho DOM thao tác

$('#ID1').on('click', function() {alert('hi');}); // does not work 

$('#anotherID1').on('click', function() {alert('hi');}); // works 

Tôi đang thực hiện thao tác DOM mà tôi cần ID duy nhất cho các yếu tố ng-repeat. Cũng xin đề nghị nếu thao tác DOM có thể được thực hiện theo bất kỳ cách nào khác.

Edit: @tymeJV: -

style. 
    .ques { 
    height: 50px; 
    overflow:hidden; 
    } 



<div ng-repeat='item in items'> 
    <div class='ques'> {{item.ques}} 
    </div> 
    <button id='ID{{$index}}'> No Hi </button> 
</div> 

// Chỉ Code: - để tăng chiều cao của <div class = 'ques'>

+1

chỉ cần biết: động cơ tempmlate của bạn là gì: ngọc? –

+0

vâng, tôi đang sử dụng ngọc bích –

+0

html cuối cùng được tạo ra là gì. Thuộc tính id trông như thế nào? – Chandermani

Trả lời

5

Trước hết, nếu bạn đang sử dụng kiễu góc, nó được khuyến khích mà bạn gắn bó với tiêu chuẩn Chỉ thị góc cho người nghe chứ không phải hoàn nguyên về jQuery. Vì vậy, thay vì sử dụng thuộc tính on của jQuery, hãy sử dụng thuộc tính ng-click trên các sự kiện HTML mà bạn muốn Angular kết buộc một người nghe.

Ví dụ:

HTML:

<button ng-click="doStuff()"> 
</button> 

khiển:

$scope.doStuff = function() { 
    //perform action 
}; 

Để lưu trữ một ID duy nhất với mỗi phần tử được tạo ra bởi ng-repeat, làm thế nào về việc thêm một tham số đến cuộc gọi doStuff với ID: ng-click="doStuff(item.ID)" và truy cập nó theo phương thức $scope.doStuff.

+0

Đối với thao tác DOM, Chỉ thị được đề xuất trên Bộ điều khiển. $ scope.doStuff = function() { // thực hiện hành động }; là một phần của mã điều khiển, trong khi tôi đang cố gắng làm cho nó được thực hiện thông qua Chỉ thị. –

0

Hãy thử nút (id = {{ 'ID' + $ index}})

+0

không hoạt động. –

0

công trình đối với tôi.

http://plnkr.co/edit/llSc8o?p=preview

vì vậy tôi nghi ngờ rằng sushain97 là đúng và vấn đề không phải là ở cách bạn sử dụng góc (sự kiện ràng buộc sang một bên).

-4

Đối với id được cấp động. cú pháp của $('#ID1').on('click', function() {alert('hi');}); thay đổi một chút thành

$('#YourWrapperID').on('click','#id1' , function(){ 
    alert('hi'); 
}); 

Hoạt động hoàn hảo!

3

id = {{'flowchartWindow' + $ index}} công trình này cho tôi

Các vấn đề liên quan