2014-07-09 15 views
6

Tôi có trường văn bản có thuộc tính giá trị được liên kết với thuộc tính trong ViewModel của tôi.Giao diện người dùng Kendo: Cập nhật lực lượng của ViewModel trên KeyPress trong TextBox

Vấn đề là ViewModel được cập nhật mặc định trên sự kiện "đã thay đổi" của hộp văn bản (khi hộp văn bản bị mất tiêu điểm của nó).

Tôi muốn ViewModel được cập nhật khi sự kiện nhấn phím được thực thi.

Tôi không muốn ép sự kiện "đã thay đổi" trong mọi lần bấm phím, vì có một số logic trong trình xử lý sự kiện đó và nó không phải được thực hiện cho mọi lần gõ phím.

Có cách nào để yêu cầu Kendo cập nhật ViewModel mà không kích hoạt sự kiện "đã thay đổi" không?

Tôi biết tôi chỉ có thể sửa đổi ViewModel theo cách thủ công, nhưng tôi muốn điều gì đó đơn giản và tự động hơn.

Cám ơn câu trả lời của bạn,

  • sẽ

Trả lời

10

Sử dụng attri cập nhật dữ liệu giá trị bute. Sử dụng sự kiện "nhấn phím" không cập nhật ký tự cuối cùng cho mô hình bị ràng buộc, vì vậy hãy sử dụng sự kiện "keyup" để thay thế.

<input id="name" type="text" 
    data-bind="value: name" data-value-update="keyup"> 

Tôi bước đầu được thử nghiệm bằng cách sử dụng "nhấn phím", nhưng nhập văn bản "abcd" dẫn đến "abc" trong ViewModel.

+0

Làm cho nó một câu trả lời nào có thể đứng một mình, ngay cả khi câu trả lời CodingWithSpike sẽ bị xóa, vì nó đứng đó là một nhận xét về câu trả lời, không phải là một câu trả lời. – bummi

+0

Cảm ơn, bummi. Thay vào đó, tôi đã thay đổi định dạng trả lời của mình thành câu trả lời. – cheino

+2

tiếc là nó không hoạt động trên widget của họ (maskedtextbox, numberictextbox) – xinthose

0
<input type="text" data-value-update="keypress" data-bind="value: searchBySystemValue, events: { keypress: onkeypressEvent }"/> 

U có thể thêm chức năng trong sự kiện

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