Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions js/bootstrap-select.js
Original file line number Diff line number Diff line change
Expand Up @@ -774,6 +774,7 @@
size: 'auto',
title: null,
placeholder: null,
titleTip: null,
allowClear: false,
selectedTextFormat: 'values',
width: false,
Expand Down Expand Up @@ -1719,6 +1720,7 @@
button = this.$button[0],
buttonInner = button.querySelector('.filter-option-inner-inner'),
multipleSeparator = document.createTextNode(this.options.multipleSeparator),
titleTipFragment = elementTemplates.fragment.cloneNode(false),
titleFragment = elementTemplates.fragment.cloneNode(false),
showCount,
countMax,
Expand Down Expand Up @@ -1827,6 +1829,16 @@
buttonInner.innerHTML = '';
buttonInner.appendChild(titleFragment);

if (this.options.titleTip && !button.querySelector('.title-tip')) {
var titleTip = document.createElement('div');
titleTip.setAttribute('class', 'title-tip');
titleTipFragment = generateOption.text.call(this, {
text: this.options.titleTip ? this.options.titleTip : ''
}, true);
titleTip.appendChild(titleTipFragment);
button.querySelector('.filter-option').prepend(titleTip);
}

if (version.major < 4 && this.$newElement[0].classList.contains('bs3-has-addon')) {
var filterExpand = button.querySelector('.filter-expand'),
clone = buttonInner.cloneNode(true);
Expand Down
6 changes: 6 additions & 0 deletions less/bootstrap-select.less
Original file line number Diff line number Diff line change
Expand Up @@ -238,6 +238,12 @@ select.selectpicker {
padding-right: inherit;
}
}

.title-tip {
color: #999;
opacity: 0.9;
transform: scale(0.85) translateY(0.1rem) translateX(-2.3rem);
}
}

.filter-option-inner-inner {
Expand Down
35 changes: 34 additions & 1 deletion tests/bootstrap4.html
Original file line number Diff line number Diff line change
Expand Up @@ -312,11 +312,44 @@
</div>
</div>
</form>

<hr>
<div class="form-group row">
<label class="col-lg-4 control-label">The first option style has 'display: none' with data-size</label>
<div class="col-lg-8">
<select id="data-size" class="selectpicker" data-size="3">
<option style="display: none;">Dog</option>
<option>Cat</option>
<option>Rabbit</option>
<option>House</option>
<option>Cow</option>
</select>
</div>
</div>

<hr>
<form role="form">
<div class="form-group row">
<label class="col-lg-2 control-label">Title Tip</label>
<div class="col-lg-5">
<select class="Selectpicker form-control" id="title-tip"
data-container="body"
data-live-search="true"
data-title="What's color do you like?"
data-title-tip="select favorite color"
>
<option>red</option>
<option>yellow</option>
<option>blue</option>
</select>
</div>
</div>
</form>
</div>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.bundle.min.js"></script>
<script src="../dist/js/bootstrap-select.js"></script>
<script src="../js/bootstrap-select.js"></script>
<script src="main.js"></script>

</body>
Expand Down
35 changes: 34 additions & 1 deletion tests/bootstrap5.html
Original file line number Diff line number Diff line change
Expand Up @@ -322,11 +322,44 @@ <h5>Set the title attribute on options to display alternative text when the opti
</div>
</div>
</form>

<hr>
<div class="form-group row">
<label class="col-lg-4 control-label">The first option style has 'display: none' with data-size</label>
<div class="col-lg-8">
<select id="data-size" class="selectpicker" data-size="3">
<option style="display: none;">Dog</option>
<option>Cat</option>
<option>Rabbit</option>
<option>House</option>
<option>Cow</option>
</select>
</div>
</div>

<hr>
<form role="form">
<div class="form-group row">
<label class="col-lg-2 control-label">Title Tip</label>
<div class="col-lg-5">
<select class="Selectpicker form-control" id="title-tip"
data-container="body"
data-live-search="true"
data-title="What's color do you like?"
data-title-tip="select favorite color"
>
<option>red</option>
<option>yellow</option>
<option>blue</option>
</select>
</div>
</div>
</form>
</div>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" crossorigin="anonymous"></script>
<script src="../dist/js/bootstrap-select.js"></script>
<script src="../js/bootstrap-select.js"></script>
<script src="main.js"></script>

</body>
Expand Down