Javascript 如何调用更改事件,如html数据列表上的select

Javascript 如何调用更改事件,如html数据列表上的select,javascript,jquery,html,Javascript,Jquery,Html,我想创建一个在发生更改时触发的事件,这样我就可以创建类似于标记的东西,但我的代码不能与一起使用 这是我的HTML: <input type="text" name="team" id="favorite_team" list="team_list"> <datalist id="team_list"> <option>Detroit Lions</option> <option>Detroit Pistons</optio

我想创建一个在发生更改时触发的事件,这样我就可以创建类似于
标记的东西,但我的代码不能与
一起使用

这是我的HTML:

<input type="text" name="team" id="favorite_team" list="team_list">
<datalist id="team_list">
  <option>Detroit Lions</option>
  <option>Detroit Pistons</option>
  <option>Detroit Red Wings</option>
  <option>Detroit Tigers</option>
</datalist>

您的选择器错误,请将输入的id更改为
收藏夹
,或尝试以下代码:

$('#favorite_team').on('input', function(){    
      alert($(this).val());
});

您可以添加循环来判断列表中的选项

$('#favorite_team').on('input', function(){
    var options = $('datalist')[0].options;
    for (var i=0;i<options.length;i++){
       if (options[i].value == $(this).val()) 
         {alert($(this).val());break;}
    }
});
$('favorite'u team')。在('input',function()上{
var options=$('datalist')[0]。选项;

对于(var i=0;isorry但是选择器不是这里的问题输入的选择器是错误的。但是,尝试使用
输入
事件。是的,我已经更改了,但它正在工作,但是当我键入任何单词时,它也会显示警报。我希望它工作,只有当我们选择任何数据列表元素时才工作。似乎
输入
是您可以告诉我们的唯一事件e、 我希望thnx能提供帮助……:)
$('#favorite_team').on('input', function(){
    var options = $('datalist')[0].options;
    for (var i=0;i<options.length;i++){
       if (options[i].value == $(this).val()) 
         {alert($(this).val());break;}
    }
});