【问题标题】:add id to select2 input text将 id 添加到 select2 输入文本
【发布时间】:2017-08-14 01:08:38
【问题描述】:

是否可以在 select2 生成的输入类型文本中添加 id?为了解释我想要什么,我必须根据城市做一个过滤器,因为城市太多,我不能一次加载它们,所以我做了一个自动完成,但用户可以选择更多城市,所以我想了一个使用 select2 自动完成,我尝试使用该类,像这样

$('.select2-search__field').on('keyup', function(e) {
                console.log($(this).val());
            }); 

问题是,我的页面上有更多的 select2(一个带有一些代码,一个带有一些区域等),我会为每个页面做无用的 ajax 请求

【问题讨论】:

  • 你的意思是像这样引用 ID 属性: $('#select2-search__field').on(..... ?? 如果是这样,你所做的就是向元素添加一个 id 属性然后在选择器中引用 id 属性。
  • 它生成一个带有“select2-search__field”类的输入类型文本,我问我是否可以向这个元素添加一个 id,因为我的页面上有更多内容,我想区分它们跨度>

标签: javascript jquery jquery-select2


【解决方案1】:

让我们跳出框框思考。您可能没有必须在 Select2 实例上放置 ID。

您需要以某种方式区分 Select2 的不同实例。也许您已经熟悉的更简单的方法是将它们包装在具有 ID 的div 中:

<div id=first>
  <!-- one select2 -->
</div>
<div id=second>
  <!-- the other select2-->
</div>

您现在可以根据包装器的 ID 访问不同的。

$('#first .select2-search__field')

【讨论】:

  • @lessan - 有时我们都认为它实际上更困难,因此我们忽略了最简单的解决方案并立即认为它更困难:)
  • @Birdy 有时我们确实需要一个 ID :) 结合其他代码位(如 jquery.validationForm),我们可以指定一个 ID 作为错误目标(因为选择元素本身它是隐藏的)跨度>
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-06-15
  • 1970-01-01
  • 2022-12-11
  • 2017-02-06
  • 2017-06-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多