【问题标题】:Select 2 onChange() trigger selected选择 2 onChange() 触发器被选中
【发布时间】:2017-07-22 11:36:13
【问题描述】:

我将select2 用于在 API 调用时填充的选择框。当我从下拉列表中选择一个项目时,我想调用另一个 API,现在的工作方式如下:

<select id="person-select" onchange="callAnotherApi()" style="width: 100%">
</select>

每当我选择其他值时都会调用 API,但不会在我选择第一个值时调用(默认情况下已选择,因此不会触发 onChange())。 onClick() 在这里不起作用。我想知道是否可以禁用选择第一条记录或使这项工作正常进行?

【问题讨论】:

  • 显示完整代码
  • 哪一部分? select2加载完毕,函数触发另一个API,只是第一个默认选中值的问题
  • 这是我发现的:“这种行为的存在不是因为 Select2 强制它,而是因为浏览器自动为您选择第一个选项。我们无法控制,我们只能工作围绕它。最好的选择是使用 Select2 中的占位符支持,并包含一个空白选项标签作为默认选择。"

标签: javascript jquery jquery-select2


【解决方案1】:

您可以禁用第一个选项并放置占位符文本:

 <select>
    <option val="null" disabled selected> select an answer</option>
    <option val="one">one</option>
</select>

检查这个小提琴:http://jsfiddle.net/sL4fLnhn/

   $('select').on('change', function(){
      $('select option:disabled').remove();
  });
   $('select').select2();

【讨论】:

  • 简洁明了。谢谢
猜你喜欢
  • 1970-01-01
  • 2011-12-21
  • 1970-01-01
  • 1970-01-01
  • 2021-05-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-12
相关资源
最近更新 更多