问题
I am trying to use bootstrap tagsinput in a form contained in a modal like this
...
<div class="form-group">
<label for="myTagLabel">Tags:</label>
<input class="form-control" id="myTag" type="text" data-role="tagsinput">
</div>
Also I am trying to use twitter typeahead with the following code
var tagValues = ['ATag','AnotherTag'];
var tagVals = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.obj.whitespace('value'),
queryTokenizer: Bloodhound.tokenizers.whitespace,
local: $.map(tagValues, function(tagValue) { return { value: tagValue }; })
});
// kicks off the loading/processing of `local` and `prefetch`
tagVals.initialize();
$('#myTag').tagsinput({
typeaheadjs: {
name: 'tagVals',
displayKey: 'value',
valueKey: 'value',
source: tagVals.ttAdapter()
}
});
you can see in the image above what is the result. In this case the problem is that typeahead suggestions are not contained in the frame with rounded corners
回答1:
Ripping the CSS from the page; here is the needed CSS that will place suggestions inside of a box. There is much more CSS in the page; but it will override a lot of bootstrap.
/* CSS for typeahead */
.tt-query {
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.tt-hint {
color: #999
}
.tt-dropdown-menu {
width: auto;
margin-top: 12px;
padding: 8px 0;
background-color: #fff;
border: 1px solid #ccc;
border: 1px solid rgba(0, 0, 0, 0.2);
-webkit-border-radius: 8px;
-moz-border-radius: 8px;
border-radius: 8px;
-webkit-box-shadow: 0 5px 10px rgba(0,0,0,.2);
-moz-box-shadow: 0 5px 10px rgba(0,0,0,.2);
box-shadow: 0 5px 10px rgba(0,0,0,.2);
}
.tt-suggestion {
padding: 3px 20px;
font-size: 16px;
line-height: 24px;
}
.tt-suggestion.tt-cursor {
color: #fff;
background-color: #CECBCB;
}
来源:https://stackoverflow.com/questions/25292267/bootstrap-tags-in-input-and-typeahead