是否有任何自举支持呈现“常规”事实上的下拉列表选择框?也就是说,下拉框是一个值的列表,如果选择填充列表框的内容?
是否有类似的功能?
http://bootstrapformhelpers.com/select/
是否有任何自举支持呈现“常规”事实上的下拉列表选择框?也就是说,下拉框是一个值的列表,如果选择填充列表框的内容?
是否有类似的功能?
http://bootstrapformhelpers.com/select/
当前回答
随着Bootstap中下拉语法的变化,Skelly的漂亮而简单的答案现在已经过时了。你可以这样说:
$(".dropdown-menu li a").click(function(){
var selText = $(this).text();
$(this).parents('.form-group').find('button[data-toggle="dropdown"]').html(selText+' <span class="caret"></span>');
});
其他回答
Bootstrap 3使用.form-control类来设置表单组件的样式。
<select class="form-control">
<option value="one">One</option>
<option value="two">Two</option>
<option value="three">Three</option>
<option value="four">Four</option>
<option value="five">Five</option>
</select>
http://getbootstrap.com/css/#forms-controls
Bootstrap3 .form-control很酷,但对于那些喜欢或需要带有按钮和ul选项的下拉菜单的人来说,这里是更新的代码。我已经编辑了Steve的代码,以修复跳转到哈希链接并在选择后关闭下拉菜单。
感谢史蒂夫、本和斯凯利!
$(".dropdown-menu li a").click(function () {
var selText = $(this).text();
$(this).closest('div').find('button[data-toggle="dropdown"]').html(selText + ' <span class="caret"></span>');
$(this).closest('.dropdown').removeClass("open");
return false;
});
你可以使用下拉组件进行引导选择…
引导5(更新2021年)
<a class="btn btn-primary dropdown-toggle" data-bs-toggle="dropdown" href="#" id="selectA">Select<span class="caret"></span></a>
<ul class="dropdown-menu">
<li class="dropdown-item"><a href="#">Item I</a></li>
<li class="dropdown-item"><a href="#">Item II</a></li>
<li class="dropdown-item"><a href="#">Item III</a></li>
<li class="dropdown-item"><a href="#">Item IV</a></li>
</ul>
let links = document.querySelectorAll('.dropdown-item')
links.forEach(element => element.addEventListener("click", function () {
let text = element.innerText
document.getElementById('selectA').innerText = text
}))
引导5
原始答案(引导3)
另一个选择是使用jQuery使Bootstrap下拉菜单的行为像一个选择…
$(".dropdown-menu li a").click(function(){
var selText = $(this).text();
$(this).parents('.btn-group').find('.dropdown-toggle').html(selText+' <span class="caret"></span>');
});
引导3
另一种不使用.form-control的方法是:
$(".dropdown-menu li a").click(function(){
$(this).parents(".btn-group").find('.btn').html($(this).text() + ' <span class="caret"></span>');
$(this).parents(".btn-group").find('.btn').val($(this).data('value'));
});
$(".dropdown-menu li a").click(function(){ $(this).parents(".btn-group").find('.btn').html($(this).text() + ' <span class="caret"></span>'); $(this).parents(".btn-group").find('.btn').val($(this).data('value')); }); <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <link href="http://netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css" rel="stylesheet"/> <script src="http://netdna.bootstrapcdn.com/bootstrap/3.0.0/js/bootstrap.min.js"></script> <div class="btn-group"> <button type="button" class="btn btn-info dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> Test <span class="caret"> </span> </button> <ul class="dropdown-menu"> <li><a href='#'>test 1</a></li> <li><a href='#'>test 2</a></li> <li><a href='#'>test 3</a></li> </ul> </div>
本的代码要求父div有form-group类(我使用btn-group),这是一个略有不同的版本,只是搜索最近的div,甚至可能更快一点。
$(".dropdown-menu li a").click(function(){
var selText = $(this).text();
$(this).closest('div').find('button[data-toggle="dropdown"]').html(selText + ' <span class="caret"></span>');
});