जब मैं jquery .val ('xyz') का उपयोग करता हूं तो Knockout.js बाध्य इनपुट मान अपडेट नहीं किया जाता है


86

मेरे पास एक इनपुट है जिसमें मूल्य के लिए नॉकआउट बाध्यकारी है।

जब मैं jquery की .val () विधि का उपयोग कर मान को अद्यतन करता हूं, तो परिवर्तित मान दृश्यमॉडल में परिलक्षित नहीं होता है।

मुझे इस मान को सेट करने के लिए jQuery का उपयोग करने की आवश्यकता है। मैं दृश्यमॉडल को अपडेट कैसे ट्रिगर कर सकता हूं?

जवाबों:


142

.val()परिवर्तन घटना को ट्रिगर नहीं करता है। तो, आप बस कर सकते हैं। val("blah").change()KO परिवर्तनों को लेने के लिए।


3
यदि आपके पास उस पर नियंत्रण नहीं है तो क्या होगा val()? क्या val()तत्वों पर सुनने के लिए jQuery के लिए एक रास्ता है ?
चेरोविम

+1 मैंने कुछ घंटों के लिए यह जानने की कोशिश की कि जब मैं getElementById फ़ंक्शन के साथ कोई मान बदलता हूं तो मेरा व्यूमाडेल अपडेट नहीं हुआ था। धन्यवाद!
शमूएल

1
लेकिन वास्तव में नॉकआउट को सभी डोम हेरफेर करने देना एक बेहतर तरीका है, इहो।
टॉम

सुनिश्चित करें कि आप अपने data-bindस्टेटमेंट की भी जांच कर लें । मेरे पास यह बग था इससे पहले कि मुझे एहसास हुआ कि यह होना चाहिए data-bind="value:location"और नहीं data-bind="value:location()"
जंब-मैज

धन्यवाद। यह मेरे लिए काम करता है।
DriLLFreAK100
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.