मैं jQuery मोबाइल के साथ knockoutjs (बहुत नया) का उपयोग कर रहा हूं। मेरे पास एक सूचीदृश्य है जिसे मैंने फ़िल्टर किए गए परिणामों को बाध्य किया है। मैं पहली बार मेरी डेटा लोड करने के बाद मैं क्रम मेंपरिवर्तन पर सूची दृश्य को स्वचालित रूप से रीफ्रेश करें - नॉकआउटजे और JQuery मोबाइल
$('ul').listview('refresh');
कॉल करने के लिए JQM मेरी सूची में restyle करने के लिए है, इस महान काम करता है।
हालांकि जब मैं अपनी सूची फ़िल्टर करता हूं, तो इसे फिर से प्रस्तुत किया जाता है और शैली को फिर से खो देता है और मैं यह नहीं समझ सकता कि फिर से ताज़ा कहां कॉल करें।
मेरे एचटीएमएल इस प्रकार है:
<p>Filter: <input data-bind="value: filter, valueUpdate: 'afterkeydown'" /></p>
<ul data-role="listview" data-theme="g" data-bind="template: {name: 'myTemplate', foreach: filteredItems }" />
मेरे नॉकआउट जेएस है:
var car = function (name, make, year) {
this.name = name;
this.make = make;
this.year = year;
}
var carsViewModel = {
cars: ko.observableArray([]),
filter: ko.observable()
};
//filter the items using the filter text
carsViewModel.filteredItems = ko.dependentObservable(function() {
var filter = this.filter();
if (!filter) {
return this.cars();
} else {
return ko.utils.arrayFilter(this.cars(), function (item) {
return item.make == filter;
});
}
}, carsViewModel);
function init() {
carsViewModel.cars.push(new car("car1", "bmw", 2000));
carsViewModel.cars.push(new car("car2", "bmw", 2000));
carsViewModel.cars.push(new car("car3", "toyota", 2000));
carsViewModel.cars.push(new car("car4", "toyota", 2000));
carsViewModel.cars.push(new car("car5", "toyota", 2000));
ko.applyBindings(carsViewModel);
//refresh the list to reapply the styles
$('ul').listview('refresh');
}
मुझे यकीन है कि बहुत मूर्खतापूर्ण है कि मैं याद आ रही है कुछ है कि वहाँ हूँ ...
धन्यवाद आप अपने समय के लिए।
धन्यवाद, मैं पहले इस पर आया था, लेकिन मुझे यकीन नहीं है कि मेरे foreach के लिए इस बाध्यकारी कैसे लागू करें? – jimjim
वास्तव में आप इसे किसी भी तत्व, यहां तक कि शरीर पर भी डाल सकते हैं। यदि आप इसे अपने टेम्पलेट के साथ रखना चाहते हैं, तो आप यह कर सकते हैं: 'डेटा-बाइंड = "टेम्पलेट: {name:' myTemplate ', foreach: filteredItems}, jqmRefreshList: filteredItems" ' –
धन्यवाद बहुत आरपी! एक इलाज किया। बीटीडब्ल्यू नॉकमेउट एक महान साइट है। – jimjim