Jquery .val ('xyz') kullandığımda Knockout.js bağlı giriş değeri güncellenmiyor


86

Değere altını gizleme bağlaması olan bir girdi var.

Değeri jquery'nin .val () yöntemini kullanarak güncellediğimde, değiştirilen değer viewModel'e yansıtılmıyor.

Bu değeri ayarlamak için jQuery kullanmam gerekiyor. ViewModel güncellemesini nasıl tetikleyebilirim?

Yanıtlar:


143

.val()değişiklik olayını tetiklemez. Yani yapabilirsin. val("blah").change()KO'nun değişiklikleri alması için.


3
Ya bunun üzerinde kontrol sahibi değilseniz val()? JQuery'nin val()öğeleri dinlemesinin bir yolu var mı ?
cherouvim

+1 Birkaç saat boyunca getElementById işlevi ile bir değeri değiştirdiğimde görünüm modelimin neden güncellenmediğini anlamaya çalıştım. Teşekkür ederim!
Samuel

1
Ama gerçekten tüm dom manipülasyonunu nakavt etmesine izin vermek daha iyi bir yaklaşım, imho.
Tom

İfadenizi de kontrol ettiğinizden emin olun data-bind. Olması gerektiğini data-bind="value:location"ve OLMAMASI gerektiğini fark etmeden önce bu hatayı yaşadımdata-bind="value:location()"
abbaf33f

Teşekkürler. Bu benim için işi yapıyor.
DriLLFreAK100
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.