引导下拉列表在单击后不显示菜单

Bootstrap Dropdowns doesn't show the menu after clicking

本文关键字:显示 菜单 单击 下拉列表      更新时间:2023-09-26

这些是代码片段。下拉菜单不起作用。也尝试了其他方法,但没有成功。我只想解决这些代码中的问题。

var options = [];
$( '.dropdown-menu a' ).on( 'click', function( event ) {
   var $target = $( event.currentTarget ),
       val = $target.attr( 'data-value' ),
       $inp = $target.find( 'input' ),
       idx;
   if ( ( idx = options.indexOf( val ) ) > -1 ) {
      options.splice( idx, 1 );
      setTimeout( function() { $inp.prop( 'checked', false ) }, 0);
   } else {
      options.push( val );
      setTimeout( function() { $inp.prop( 'checked', true ) }, 0);
   }
   $( event.target ).blur();
      
   console.log( options );
   return false;
});
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<div class="row">
    <div class="col-lg-12">      
    <div class="button-group">
    <button class="btn btn-default btn-sm dropdown-toggle" type="button" data-toggle="dropdown">Choose an item:
    <span class="caret"></span></button>
    <ul class="dropdown-menu">
      <li><a href="#" class="small" data-value="option1" tabindex="-1"><input type="checkbox" />Chicken Steam Momo</a></li>
      <li><a href="#" class="small" data-value="option2" tabindex="-1"><input type="checkbox" />Chicken Fried Momo</a></li>
      <li><a href="#" class="small" data-value="option2" tabindex="-1"><input type="checkbox" />Chicken Kothey Momo</a></li>
    </ul>
  </div>
  </div>
  </div>

您错过了包含Bootstrap.js...

var options = [];
$( '.dropdown-menu a' ).on( 'click', function( event ) {
   var $target = $( event.currentTarget ),
       val = $target.attr( 'data-value' ),
       $inp = $target.find( 'input' ),
       idx;
   if ( ( idx = options.indexOf( val ) ) > -1 ) {
      options.splice( idx, 1 );
      setTimeout( function() { $inp.prop( 'checked', false ) }, 0);
   } else {
      options.push( val );
      setTimeout( function() { $inp.prop( 'checked', true ) }, 0);
   }
   $( event.target ).blur();
      
   console.log( options );
   return false;
});
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
<div class="row">
    <div class="col-lg-12">      
    <div class="button-group">
    <button class="btn btn-default btn-sm dropdown-toggle" type="button" data-toggle="dropdown">Choose an item:
    <span class="caret"></span></button>
    <ul class="dropdown-menu">
      <li><a href="#" class="small" data-value="option1" tabindex="-1"><input type="checkbox" />Chicken Steam Momo</a></li>
      <li><a href="#" class="small" data-value="option2" tabindex="-1"><input type="checkbox" />Chicken Fried Momo</a></li>
      <li><a href="#" class="small" data-value="option2" tabindex="-1"><input type="checkbox" />Chicken Kothey Momo</a></li>
    </ul>
  </div>
  </div>
  </div>

根据错误,您似乎尚未将jQuery导入到html中。