Jquery 使用select2的多个select元素无法正常工作

Jquery 使用select2的多个select元素无法正常工作,jquery,jquery-select2,jquery-select2-4,select2,Jquery,Jquery Select2,Jquery Select2 4,Select2,请注意,这并不是关于具有多个属性的元素,而是关于表单中的多个s,我在这里没有发现 看到这个了吗 我有两个具有唯一ID和名称的元素。在这两个元素上,我还使用了select2。我原以为这两个人会发起相同的行为,因此产生相同的jQuery代码。两人确实启动了select2,但后者没有显示标签中包含的任何选项。它只显示“未找到结果”消息 问:我很确定这是一个非常琐碎的问题,但是有人能告诉我代码有什么问题吗?它应该怎么写 以下是html: <form action="" method="POST"

请注意,这并不是关于具有多个属性的元素,而是关于表单中的多个s,我在这里没有发现

看到这个了吗

我有两个具有唯一ID和名称的元素。在这两个元素上,我还使用了select2。我原以为这两个人会发起相同的行为,因此产生相同的jQuery代码。两人确实启动了select2,但后者没有显示标签中包含的任何选项。它只显示“未找到结果”消息

问:我很确定这是一个非常琐碎的问题,但是有人能告诉我代码有什么问题吗?它应该怎么写

以下是html:

<form action="" method="POST" role="form">
  <div class="form-group">
    <label for="">Add Service Name</label>
    <select class="form-control select2" name="test-1" id="number1">
      <option>Service 1</option>
      <option>Service 2</option>
    </select>
  </div>
  <div class="form-group">
    <label for="">Add Service Name</label>
    <select class="form-control select2-service-package" id="number2" name="test-2">
      <option>Service 1</option>
      <option>Service 2</option>
    </select>
  </div>
  <button type="submit" class="btn btn-primary">Create</button>
</form>

尝试将select2类的名称更改为其他名称,例如myselect

Select2插件可能在内部使用Select2类

工作示例:

以id-s为目标

并从选择html部分的类标记中删除select2。

使用相同的类相同的表单和多个select2将像这样工作,我在系统中用于动态添加select

$'body'。关于'focus',.myselect,函数{ $this.select2{}; }; $'item-add'。单击,函数{ var frm=$'frm'; frm.find'.数据' 追加 '添加服务名称服务1服务2' ; }; myselect先生{ 宽度:150px; } 添加服务名称 服务1 服务2 添加服务名称 服务1 服务2 添加服务名称 服务1 服务2 添加 创造
伟大的你解决了这个问题。我想他们应该把它添加到Github页面上。谢谢@Daniel.想在GItHub上开一张关于这件事的票吗?Select2实际上并不在任何地方使用该类。这个问题也可以通过将选择器优化为select.select2来解决,这样它只拾取元素。@KevinBrown我已经查看了生成的select2代码,看起来它确实在内部使用了这个类。。。。
  if ($('.select2-service-package').length > 0) {
    $('.select2-service-package').select2();
  };

  if ($('.select2').length > 0) {
    $('.select2').select2();    
  };
<script type="text/javascript">
    $(document).ready(function(){
        $("#number1").select2();
        $("#number2").select2();
    });
</script>