jquery .val ( 'xyz') 사용할 때 Knockout.js 바인딩 된 입력 값이 업데이트되지 않음


86

값에 녹아웃 바인딩이있는 입력이 있습니다.

jquery의 .val () 메서드를 사용하여 값을 업데이트하면 변경된 값이 viewModel에 반영되지 않습니다.

이 값을 설정하려면 jQuery를 사용해야합니다. viewModel에 대한 업데이트를 어떻게 트리거 할 수 있습니까?

답변:


142

.val()변경 이벤트를 트리거하지 않습니다. 따라서. val("blah").change()KO가 변경 사항을 선택합니다.


3
당신이 그것에 대한 통제권이 없다면 val()? jQuery가 val()요소 를 수신하는 방법이 있습니까?
cherouvim

+1 getElementById 함수로 값을 변경할 때 뷰 모델이 업데이트되지 않은 이유를 몇 시간 동안 알아 내려고 노력했습니다. 감사합니다!
Samuel

1
그러나 정말로 녹아웃이 모든 DOM 조작을하도록하는 것이 더 나은 접근 방식입니다.
Tom

data-bind진술도 확인하십시오 . 나는 그것이 있어야 실현하기 전에이 버그를했다 data-bind="value:location"NOT data-bind="value:location()"
abbaf33f

감사. 이것은 나를 위해 일합니다.
DriLLFreAK100
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.