5

Tôi mới sử dụng knockout.js. Tôi đã không thể kết nối dữ liệu từ api để thả xuống bằng cách sử dụng knock out js.cách liên kết dữ liệu để thả xuống động bằng cách sử dụng knockout.js?

My Json dữ liệu từ api và thả xuống là:

[{ 
ContactID: 0, 
FirstName: "Aaa", 
LastName: "bbb", 
MobileNumber: null, 
StartDate: "0001-01-01T00:00:00", 
EndDate: "0001-01-01T00:00:00" 
}, 
{ 
ContactID: 0, 
FirstName: "Ccc", 
LastName: "ddd", 
MobileNumber: null, 
StartDate: "0001-01-01T00:00:00", 
EndDate: "0001-01-01T00:00:00" 
} 
] 
<select id="selectmenu1" name="" data-theme="c" data-bind="optionsCaption: 'Choose...'">  </select> 

tôi chỉ để ràng buộc firstname, lastname, ContactId để thả xuống và hiển thị firstname và lastname dưới dạng văn bản và ContactId là lĩnh vực giá trị cho mục đó. Có ai vui lòng đưa ra một số gợi ý về vấn đề này không?

+0

bạn chỉ cần sử dụng http://knockoutjs.com/documentation/options-binding.html –

Trả lời

12

Bạn cần phải sử dụng options binding, nơi bạn cần phải xác định:

  • mảng các bản ghi trong options (xem trong doc Ví dụ 3)
  • bạn cần phải thiết lập các optionsValue: 'ContactID' để có ContactID như giá trị
  • bạn cần phải xác định một hàm trong optionsText trong đó xây dựng các văn bản chọn của bạn (xem trong doc Ví dụ 4)

vì vậy, thức ràng buộc của bạn sẽ trông giống như:

<select id="selectmenu1" name="" data-theme="c" 
    data-bind="options: contacts, 
      optionsValue: 'ContactID', 
      optionsText: function(i) { return i.FirstName + ' ' + i.LastName }, 
      optionsCaption: 'Choose...'">   
</select> 

Demo JSFiddle.

+0

Hi nemesv, nhờ trả lời của bạn. nhưng tôi đang nhận được trên dữ liệu từ WEBAPI .. nhưng bạn cứng mã hóa các giá trị. Vui lòng cho tôi biết để tạo chế độ xem trong chế độ gõ js và ràng buộc các giá trị để thả xuống –

+0

Có rất nhiều bài viết tồn tại về cách sử dụng webapi hoặc loại bỏ: bạn có thể bắt đầu với http://www.dotnetcurry.com/ShowArticle.aspx ? ID = 875. Tôi đã giúp bạn với sự ràng buộc của bạn bởi vì câu hỏi của bạn chỉ là về nó. Nếu bạn có thêm các vấn đề cụ thể, hãy hỏi họ trong các câu hỏi khác nhau. – nemesv

+0

Xin chào nemesv, cảm ơn. nhưng nó không hiển thị "Chọn .." dưới dạng văn bản mặc định trong trình đơn thả xuống đó ??? Chỉ hiển thị khi nhấp vào tùy chọn đó .. –

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