2016-05-30 5 views
0

У меня есть странная проблема. Проблема заключается в том, что событие onclick работает, но onchange не работает в выпадающем списке. Здесь я использую jquery для получения значений для выпадающего списка из php. В чем может быть проблема?Onclick работает, но Onchange не работает - javascript

Javascript:

<script> 
    //dropdown list values 
    $(function() { 
    $("#skills").autocomplete({ 
    source: <?php print_r(json_encode($options)); ?> 
    }); 
    }); 

    function myfunction() 
    { 
     alert('hi'); 
    } 
</script> 

HTML:

<div class="ui-widget"> 
     <label for="skills">Chip ID:</label>​ 
     <input id="skills" onchange="myfunction()"> 
</div> 

Спасибо.

+0

См. Этот ответ: http://stackoverflow.com/a/13601584/2159528 –

ответ

1

Это из-за динамически заполняемого раскрывающегося списка, поэтому используйте jQuery .on().

Вы должны использовать:

$(document).on('change', '#dropdown', function(){ 
    alert("onChnage [using .on()]"); 
}); 

Пример:

$(document).on('change', '#dropdown', function(){ 
 
    alert("onChnage [using .on()]"); 
 
}); 
 

 

 

 
/* dynamic drop-down */ 
 
var selectField = $('#dropdown'); 
 
var empIds = [101, 102, 103]; //values 
 
var empNames = ['X', 'Y', 'Z']; //text 
 
var options = ''; 
 
selectField.empty(); 
 
for (var i = 0, len = empIds.length; i < len; i++) { 
 
    options += '<option value="' + empIds[i] + '">' + empNames[i] + '</option>'; 
 
} 
 
selectField.append(options);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<select id="dropdown"> 
 
</select>

0

Я думаю, что проблема может быть, что вы не имеете дело с регулярной капли вниз, вы работаете с плагином jquery, который не использует стандартные поля. Если это тот же самый плагин, который я знаю, вам необходимо:

$(function() { 
    $("#skills").autocomplete({ 
    source: <?php print_r(json_encode($options)); ?> 
    }).result(function(event, data, formatted) { 
    window.alert(data);//do something with the selected value 
    } 
}); 
Смежные вопросы