2013-06-03 32 views
15

Tôi đang cố gắng đặt id trong typeahead thay vì một đối tượng và nó không hoạt động như phần tử chọn. Đây là một ví dụ, nơi bạn có thể viết đúng từ trong typeahead, và sau đó phần tử select được cập nhật, nhưng nếu bạn thay đổi lựa chọn, typeahead không được cập nhật với tên, được cập nhật với id thay thế.chọn góc đánh dấu angular-ui thay vì đối tượng

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

Tôi đang làm gì đó sai?

+0

Bạn không làm bất cứ điều gì "sai", đó không chỉ là hành vi bạn mong đợi. Bạn không thấy "id" của đối tượng, bạn đang thấy 'chỉ số' của tùy chọn chọn. Thay đổi giá trị id thành bất kỳ thứ gì khác và bạn sẽ vẫn thấy "1" và "2" khi nhấp vào một mục. – rGil

+0

Điều này không đúng, tôi đã thay đổi id cho 4 và 5, và nó hiển thị 4 và 5, nó không hiển thị chỉ mục. Tôi đã cập nhật plunker. – TlmaK0

+0

Rất tiếc - phỏng đoán xấu về phía tôi. – rGil

Trả lời

21

Còn thứ gì đó như thế?

http://plnkr.co/edit/pUPzVK?p=preview (kiểm tra typehead và ng-tùy chọn định nghĩa)

Những gì bạn "đã làm sai" thiếu thông tin, typehead mà không có chính xác định nghĩa giống như ng-options (Tôi đã vật lộn với điều này trong một thời gian quá).

Hy vọng điều này sẽ giúp

+0

Cảm ơn @ grizzlynetch, đây là những gì tôi đã làm ở cuối, nhưng vấn đề là tôi không có con trỏ đối tượng để thiết lập như được chọn, chỉ có id, bởi vì nó đến từ cơ sở dữ liệu. Với id hoạt động hoàn hảo với ng-options nhưng không phải với typeahead. Vì vậy, cuối cùng tôi cần phân tích cú pháp danh sách đầy đủ, kiểm tra xem có khớp id không và sau đó thiết lập như đã chọn. – TlmaK0

+0

Bạn đã thử một cái gì đó giống như lưu trữ các đối tượng trong đối tượng thay vì mảng và sử dụng id của các đối tượng như là chìa khóa? Ví dụ. var objects = {"5": {"id": "5", "name": "obj # 5", ...}, "13": {"id": "13", "tên": " obj # 13 ", ...}} sau đó bạn có thể truy cập trực tiếp đối tượng bằng các đối tượng id [" 5 "] – JakubKnejzlik

+0

Cảm ơn đề xuất của bạn – TlmaK0

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