bootstrap下拉框

 先写html javascript

<div class="dropdown col-md-2 col-xs-6">
    <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
      <span class="dropdowntitle">请选择</span>
      <span class="caret"></span>
    </button>
    <input name="input" value="" type="hidden" />
    <ul class="dropdown-menu">
      <li><a val="s1" href="javascript:">1</a></li>
      <li><a val="s2" href="javascript:">2</a></li>
      <li><a val="s3" href="javascript:">3</a></li>
      <li><a val="s4" href="javascript:">4</a></li>
    </ul>
  </div>

再添加css样式来固定下拉框的宽度:css

.dropdowntitle{
    width:5em;
    display: inline-block;
}

添加js来实现下拉列表点击事件 :html

$(".dropdown-menu").click(function(e){
    e=e||window.event;
    var obj=e.target||e.srcElement;
    var $thisclick=$(obj);//得到当前的点击元素
    if (!$thisclick.is("a")) return false;
    $(this).siblings("button.dropdown-toggle").children(".dropdowntitle").text($thisclick.text());//设置下拉框的显示文本
    $(this).siblings("input[type='hidden']").val($thisclick.attr("val"));//设置下拉框的值(赋在隐藏域中,由表单提交)
});

这里须要注意的是在ul上侦听列表项点击事件便可java

设置默认值:this

在须要设置默认值的项添加default="default"或其余自定义的属性spa

而后在页面加载完毕事件中添加:code

$(".dropdown-menu").each(function(){
    $(this).find("a[default='default']").click();
});

使用each能够对每一个匹配的元素都执行这段代码,这样当页面上有多个下拉框时,默认项也能生效。htm