javascript - 在下拉菜单中输入字符时,它会从选项中选择任何随机匹配项并触发更改事件

标签 javascript jquery backbone.js coffeescript

下面是我在 backbonejs + coffeescript 中的代码。

场景: 我打开国家/地区下拉菜单,我输入“i”以选择以“i”开头的国家/地区 输入触发更改事件,下拉菜单从中关闭

预期: 下拉菜单不应关闭,它应突出显示以“i”开头的国家/地区

我正在尝试获取仅在选择选项时触发的事件

注意:使用了jquery easy drop down plugin link

Backbonejs 代码 -

class Brown.Views.Home.OperatorSignUp extends Backbone.View
  events:
    'change #country' : 'getState'

  getState: (event)->
    unless _.isEmpty($('#country').val())
      $('#state').html @statesTemplate(states: '')

HTML 代码 -

<div class="form-group colCountry customSelectRow">
  <select  id='country' name='country' class="form-control search">
    <option value="" class="countryLabel">Country</option>
    <% _.each(countries, function(val, key, object){%>
      <option value='<%=key%>'><%=val%></option>
    <% }) %>
  </select>
  <label class="floatingLabel">Country</label>
</div>

最佳答案

根据我在您提供的链接中找到的插件文档,您可以在对任何选择元素应用 easyDropdown 时为 onSelect 注册回调,如下所示

$(function(){
    var $selects = $('id-for-select');

    $selects.easyDropDown({
        onSelect: function(selected){
            // do something
        }
    });
});

所以我猜你可以使用它来代替 change 事件。

关于javascript - 在下拉菜单中输入字符时,它会从选项中选择任何随机匹配项并触发更改事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38330740/

相关文章:

php - 在 WordPress 中向 previous_post_links 和 next_posts_links 添加 anchor

javascript - 如何在全选时选择 JQgrid 中的非隐藏行?

jquery - 更改选择框选项的背景颜色

javascript - 将数据传递给主干 View 中的事件处理程序

javascript - 布局和 View 管理

javascript - Leaflet.js/Browser 由于缺少图 block 文件而返回 500 个内部服务器错误

javascript - 如何在moment js中比较日期时间

javascript - Ref 获取子元素

javascript - 缩短重复元素的 Javascript

javascript - 在 Win8 应用程序中使用 AppendTo/jquery-win8