2016-12-07 3 views
1

Я использую плагин bootstrap combobox.bootstrap combobox и выбор значения после ввода

Когда вы выбираете из комбо NewYork, он отлично работает, но если вы наберете New, а затем попытайтесь выбрать New York из меню, это не сработает.

Пример может быть найден here.

+0

попробовать это https://jsfiddle.net/poosanth/neceegbv/6/ изменить 'change' событие' click' события – prasanth

ответ

0

Попробуйте:

Demo fiddle Изменение change событие click событие

$('.combobox').on('click', function(){ 

Alternate

Нанести если условие option value

if(option.val()){ 
    alert('Value is ' + option.val()); 
    } 

Demo fiddle

0

Это будет работать нормально:

$('.combobox').combobox(); 

var val = '', newVal = null; 

$('.combobox').on('select', function(){ 

    newVal = $(this).val(); 

    if (newVal !== val) { 
     val = newVal; 
     alert('Value is ' + val); 
    } 

}); 
0

$('#combobox').combobox(); 
 
$('#combobox').on('change', function(){ 
 
\t if($(this).val()){ 
 
     console.log("You selected: "+$(this).val()); 
 
     alert('Value is ' + $(this).val()); 
 
    } 
 
})
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<link href="https://rawgit.com/danielfarrell/bootstrap-combobox/master/css/bootstrap-combobox.css" rel="stylesheet"/> 
 
<script src="https://rawgit.com/danielfarrell/bootstrap-combobox/master/js/bootstrap-combobox.js"></script> 
 
<div> 
 
    <select class="combobox" id="combobox"> 
 
     <option></option> 
 
     <option value="PA">Pennsylvania</option> 
 
     <option value="CT">Connecticut</option> 
 
     <option value="NY">New York</option> 
 
     <option value="MD">Maryland</option> 
 
     <option value="VA">Virginia</option> 
 
    </select> 
 
</div>

Также проверьте в скрипкой: https://jsfiddle.net/neceegbv/8/

Проанализируйте этот код с помощью class и id вы увидите разницу.

-1

Ваш фрагмент js скрипки прав, но есть проблема на alert функция. Поэтому удалите функцию оповещения и установите консоль, чтобы найти выбранное значение, например, ниже фрагмента.

Надежда помогает вам.

$('.combobox').combobox(); 
 
$('.combobox').on('change', function(){ 
 
    var option = $(this).find('option:selected'); 
 
\t if(option.length){ 
 
    console.log(option.val()); 
 
    } 
 
});
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<link href="https://rawgit.com/danielfarrell/bootstrap-combobox/master/css/bootstrap-combobox.css" rel="stylesheet"/> 
 
<script src="https://rawgit.com/danielfarrell/bootstrap-combobox/master/js/bootstrap-combobox.js"></script> 
 
<br><br> 
 
<div class="container"> 
 
\t <div class="row"> 
 
\t \t <div class="col-sm-4"> 
 
\t  <select class="combobox form-control" id="combobox" data-placeholder="Enter City Name"> 
 
\t  \t <option></option> 
 
\t  <option value="PA">Pennsylvania</option> 
 
\t  <option value="CT">Connecticut</option> 
 
\t  <option value="NY">New York</option> 
 
\t  <option value="MD">Maryland</option> 
 
\t  <option value="VA">Virginia</option> 
 
\t  </select> 
 
\t </div> 
 
\t </div> 
 
</div>

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