[英]Bootstrap select append function in jQuery
我正在为我的项目使用主题。 由于主题的javascript,我在使用jQuery时遇到与附加选项有关的问题。
当我添加一个选项以进行选择时,尽管它已添加,但它并未显示。 我发现这是因为在页面加载后select上方添加了一个按钮和div。 我要粘贴2(不同的代码)以供参考:
实际代码
我在laravel刀片模板中所做的代码
<div class="form-group">
<select class="selectpicker search-fields" id="ct" name="ct" data-live-search="true" data-live-search-placeholder="Search value">
<option value="">Contract Types</option>
@foreach (\App\ContractType::all() as $ct)
<option value="{{ $ct->id }}">{{ $ct->type }}</option>
@endforeach
</select>
</div>
在浏览器中检查代码
我检查元素时在浏览器中选择的代码
<div class="form-group">
<div class="btn-group bootstrap-select search-fields open">
<button type="button" class="btn dropdown-toggle bs-placeholder btn-default" data-toggle="dropdown" role="button" data-id="ct" title="Contract Types" aria-expanded="true">
<span class="filter-option pull-left">Contract Types</span>
<span class="bs-caret">
<span class="caret"></span>
</span>
</button>
<div class="dropdown-menu open" role="combobox" style="max-height: 590px; overflow: hidden; min-height: 158px;">
<div class="bs-searchbox">
<input type="text" class="form-control" autocomplete="off" placeholder="Search value" role="textbox" aria-label="Search">
</div>
<ul class="dropdown-menu inner" role="listbox" aria-expanded="true" style="max-height: 543px; overflow-y: auto; min-height: 111px;">
<li data-original-index="0" class="selected active">
<a tabindex="0" class="" data-tokens="null" role="option" aria-disabled="false" aria-selected="true">
<span class="text">Contract Types</span>
<span class="glyphicon glyphicon-ok check-mark"></span>
</a>
</li>
<li data-original-index="1">
<a tabindex="0" class="" data-tokens="null" role="option" aria-disabled="false" aria-selected="false">
<span class="text">Rent</span>
<span class="glyphicon glyphicon-ok check-mark"></span>
</a>
</li>
<li data-original-index="2">
<a tabindex="0" class="" data-tokens="null" role="option" aria-disabled="false" aria-selected="false">
<span class="text">Buy</span>
<span class="glyphicon glyphicon-ok check-mark"></span>
</a>
</li>
<li data-original-index="3">
<a tabindex="0" class="" data-tokens="null" role="option" aria-disabled="false" aria-selected="false">
<span class="text">Commercial Rent</span>
<span class="glyphicon glyphicon-ok check-mark"></span>
</a>
</li>
<li data-original-index="4">
<a tabindex="0" class="" data-tokens="null" role="option" aria-disabled="false" aria-selected="false">
<span class="text">Commercial Buy</span>
<span class="glyphicon glyphicon-ok check-mark"></span>
</a>
</li>
</ul>
</div>
<select class="selectpicker search-fields" id="ct" name="ct" data-live-search="true" data-live-search-placeholder="Search value" tabindex="-98">
<option value="">Contract Types</option>
<option value="1">Rent</option>
<option value="2">Buy</option>
<option value="3">Commercial Rent</option>
<option value="4">Commercial Buy</option>
</select>
</div>
</div>
因此,当我尝试清空select并使用带有另一个select的on-change事件的jQuery向其添加新选项时:
$('#c').on('change', function(e){
var id = e.target.value;
$('#ct').empty();
$('#ct').append('<option value="">Contract Types</option>');
$('#ct').append('<option value="1">Rent</option>');
$('#ct').append('<option value="2">Buy</option>');
if (id == 1) {
$('#ct').append('<option value="3">Commercial Rent</option>');
$('#ct').append('<option value="4">Commercial Buy</option>');
}
});
它在select中执行它,但由于阴影按钮和div而不会显示。 我已经从主题的执行位置检查了主题的JS页面,但是我无法理解整个功能。
您是否尝试过将z-index赋予选择元素?
<div class="form-group">
<select class="selectpicker search-fields" id="ct" name="ct" data-live-search="true" data-live-search-placeholder="Search value" style='z-index:999 !important'>
<option value="">Contract Types</option>
@foreach (\App\ContractType::all() as $ct)
<option value="{{ $ct->id }}">{{ $ct->type }}</option>
@endforeach
</select>
</div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.