2016-07-09 7 views
-2

Это фрагменты кода. Выпадающее меню не работает. Пробовал и другие методы, но не смог добиться успеха. Я хочу решить проблемы только из этого кода.Bootstrap Dropdowns не отображает меню после нажатия

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>

+0

Проверьте консоль JavaScript на наличие ошибок. – ceejayoz

ответ

0

По ошибке, кажется, вы не импортировали JQuery в ваш HTML.

+1

Это должен быть комментарий ... – Sankar

1

Вы пропустили включают 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>

Смежные вопросы