2013-07-16 9 views
10

नॉकआउट मान बाध्यकारी jquery autocomplte के साथ काम नहीं करता है। यह कैसे काम कर रहा है?नॉकआउट और jQuery स्वत: पूर्ण

<input 
    type="text" 
    class="autocomplete" 
    data-bind="value: viewModelObservableValue" 
    name="MyValue" /> 

टेम्पलेट प्रतिपादन के बाद मैं एक इनपुट पर jQuery स्वत: पूर्ण आवेदन कर रहा हूँ:

मैं एक टेम्पलेट है। बाध्यकारी काम नहीं करता है। मेरा jsfiddle देखें।

यह ko.applyBindings(viewModel) चला जाता है केवल अगर बाद $(..).autocomplete(..);

+0

ठीक आप के लिए एक जवाब मिला है। दिलचस्प सवाल –

उत्तर

17

यह jQuery स्वत: पूर्ण की तरह लग रहा change घटना का अपहरण कर लिया काम करता है। Thats क्यों यह काम नहीं करता है।

इसे ठीक करने के लिए, आपको valueUpdate संपत्ति blur पर सेट करना होगा। बेशक, यह आइटम चुनने के बाद ट्रिगर नहीं होगा, आपको पहले धुंधला करना होगा।

$(function() { 
 
    var availableTags = [ 
 
     "ActionScript", 
 
     "AppleScript", 
 
     "Asp", 
 
     "BASIC", 
 
     "C", 
 
     "C++", 
 
     "Clojure", 
 
     "COBOL", 
 
     "ColdFusion", 
 
     "Scheme" 
 
    ]; 
 
    $(".autocomplete").autocomplete({ 
 
     source: availableTags 
 
    }); 
 
}); 
 

 
var viewModel = { 
 
    myValue: ko.observable() 
 
}; 
 

 
ko.applyBindings(viewModel);
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.2.0/knockout-min.js"></script> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="https://code.jquery.com/ui/1.11.3/jquery-ui.min.js"></script> 
 

 
<input type="text" class="autocomplete" data-bind="value: myValue, valueUpdate:'blur' " /> 
 

 
<div data-bind="text: myValue"></div>

+6

आप सुपरमैन हैं! धन्यवाद! – Andrei

+0

धन्यवाद! * तो * कस्टम बाध्यकारी दृष्टिकोण से बहुत आसान .... –

संबंधित मुद्दे