2016-04-26 14 views
10

मेरे पास एक ऐप है जो बूटस्ट्रैप 3 और टाइपहेड का उपयोग करता है। किसी कारण से, जैसे ही मैं Typeahead.js जोड़ता हूं, स्टाइल गलतफहमी हो जाती है, आप this JSFiddle के साथ देख सकते हैं। निम्नलिखित एचटीएमएल बहुत अच्छा लग रहा है:मिक्सिंग Typeahead.js और बूटस्ट्रैप 3

<div class="container" style="padding:3rem;"> 
<form class="form-horizontal"> 
    <div class="form-group"> 
    <div class="input-group"> 
     <input type="search" class="form-control" id="myQuery"> 
     <div class="input-group-btn"> 
     <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><span id="searchIndexButton">Item 1</span> <span class="caret"></span></button> 
     <ul class="dropdown-menu dropdown-menu-right"> 
      <li>Item 1</li> 
      <li>Item 2</li> 
     </ul> 
     </div> 
    </div>        
    </div> 
</form>      
</div> 

जैसे ही मैं इसे नीचे दिखाए गए टाइपहेड के साथ प्रारंभ करता हूं, यह भयानक लगता है।

$(function() { 
    var data = [ 
    { id:1, name:'Tiger' }, 
    { id:2, name:'Bear' } 
    ]; 

    var bh = new Bloodhound({ 
    datumTokenizer: Bloodhound.tokenizers.whitespace, 
    queryTokenizer: Bloodhound.tokenizers.whitespace, 
    local: data 
    }); 

    $('#myQuery').typeahead(null, { 
    minLength: 1, 
    name: 'suggestions', 
    source: bh, 
    display: 'name' 
    }); 
}); 
+0

आप .twitter-Typeahead में जोड़ देते हैं तो {चौड़ाई: 100%; मार्जिन टॉप: 4 पीएक्स; } आप मूल के करीब कुछ मिलता है। – JonSG

+0

@ जोन्सएसजी - दुर्भाग्यवश, यह एम के लिए काम नहीं किया। –

उत्तर

5

आप this CSS code for using typeahead.js with Bootstrap 3 शामिल करते हैं, एचटीएमएल दिखेगा संशोधनों के बिना अपेक्षा के अनुरूप:

JSFiddle: https://jsfiddle.net/2j94perk/

ट्विटर की Typeahead बूटस्ट्रैप 3. के साथ सीधे काम नहीं करते लटकती की DOM संरचना typeahead.js द्वारा उपयोग किया जाने वाला मेनू बूटस्ट्रैप ड्रॉपडाउन मेनू की DOM संरचना से अलग है। डिफ़ॉल्ट बूटस्ट्रैप विषय फिट करने के लिए typeahead.js ड्रॉपडाउन मेनू प्राप्त करने के लिए आपको कुछ अतिरिक्त सीएसएस लोड करने की आवश्यकता होगी। आप यहां मूल सीएसएस डाउनलोड कर सकते हैं, या अपनी परियोजना में इसे एकीकृत करने के लिए कम फ़ाइल का उपयोग कर सकते हैं।

अपने HTML में बूटस्ट्रैप के सीएसएस के बाद सीएसएस फ़ाइल को शामिल करें:

<link href="bootstrap-3.1.0/dist/css/bootstrap.min.css" rel="stylesheet"> 
<link href="typeaheadjs.css" rel="stylesheet"> 

स्रोत: https://github.com/bassjobsen/typeahead.js-bootstrap-css

1

आप typeahead प्रारंभ दिखाई पड़ेगा कि स्क्रिप्ट लपेटता एक <span> साथ <input> साथ डोम का निरीक्षण किया है। बूटस्ट्रैप एक निश्चित संरचना की उम्मीद कर रहा है जो टाइपहेड रन के बाद अब समान नहीं है।

+0

दुर्भाग्यवश, यह मेरे लिए काम नहीं किया। –

+0

आपने क्या प्रयास किया? मैं बस कारण बता रहा था कि क्यों बूटस्ट्रैप शैलियों को सही ढंग से लागू नहीं किया गया। – chazsolo

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