मेरे पास कई टेक्स्ट इनपुट के साथ एक फॉर्म है जिसके लिए उनमें से 10 मैं Bloodhound के साथ typeahead.js का उपयोग करना चाहता हूं। मैंने इसे 2 में से काम करने के लिए काम किया है - दोनों में प्रीफेच और रिमोट डेटा स्रोत शामिल हैं। लेकिन टाइपहेड/ब्लडहाउंड के प्रत्येक उदाहरण के लिए एक उचित मात्रा में jQuery कोड है और मैं उत्सुक हूं कि किसी ने अलग-अलग डेटा स्रोतों के साथ कई अलग-अलग इनपुट तत्वों को संभालने के लिए टाइपएड/ब्लडहाउंड "जेनेरिक" करने का प्रयास किया है? यह इसके लायक होने की तुलना में अधिक परेशानी हो सकती है, लेकिन मैं पृष्ठ को लोड करने वाले कोड की मात्रा के बारे में थोड़ा चिंतित हूं।विभिन्न स्रोतों के साथ typeahead.js का उपयोग कर प्रत्येक इनपुट एकाधिक समेकित किया जा सकता है?
मेरा पर्यावरण स्प्रिंग/एमवीसी, हाइबरनेट (ओरेकल डीबी), बूटस्ट्रैप है।
यहां एक टाइपहेड/ब्लडहाउंड इंस्टेंस का नमूना है। यह एक फ़ंक्शन में है क्योंकि मैं पंक्तियों के इनपुट को गतिशील रूप से जोड़ रहा हूं इसलिए मुझे उस पंक्ति में टेक्स्ट इनपुट पर टाइपहेड सक्षम करने के लिए एक नई पंक्ति जोड़ने के बाद इस फ़ंक्शन को कॉल करना होगा।
function initIngredientsTA() {
//set the options
var ingredBH = new Bloodhound({
limit: 20,
datumTokenizer: function(datum) {
return Bloodhound.tokenizers.whitespace(datum.name);
},
queryTokenizer: Bloodhound.tokenizers.whitespace,
prefetch: {
url: '/myapp/resources/ingredients.json',
cache: false,
filter: function(data) {
console.log("data: " + data.ingredients);
return $.map(data.ingredients, function (ingredient) {
return {
id : ingredient.id,
name : ingredient.name
};
});
}
},
remote: {
url: '/myapp/recipe/addRecipe/getIngredients?searchStr=%QUERY',
cache: false,
wildcard: '%QUERY',
filter: function(data) {
console.log("data: " + data);
return $.map(data, function (data) {
return {
id : data.id,
name : data.name
};
});
}
}
});
//initialize the suggestion Engine
ingredBH.initialize();
$('.ingredDesc').typeahead(
{
hint: true,
highlight: true,
minLength: 1
},
{
name: 'ingredients',
displayKey: 'name',
limit: 20,
source: ingredBH.ttAdapter(),
})
};
संपादित करें: मुझे लगता है कि मैं वास्तव में पूछ रहा हूँ किसी को भी Typeahead/बूटस्ट्रैप के एक "टेम्पलेट" संस्करण है कि तब प्रत्येक व्यक्ति पाठ इनपुट के लिए instantiated जा सकती है, पैदा कर दी है, तो है।