jquery 如何使用同一个类初始化页面上的所有Select2下拉列表

siotufzp  于 2023-08-04  发布在  jQuery
关注(0)|答案(5)|浏览(120)

我正在使用http://ivaynberg.github.io/select2/中的Select2
现在我正在初始化下拉列表,如下所示:

<script>
 $(document).ready(function() { 

 $('.form_control').select2({
     minimumResultsForSearch: -1
 });

  });
 </script>

字符串
问题是,我有一个页面,我在那里动态生成基于订单的下拉列表,所以我将在同一个页面上有多个下拉列表和相同类的表单,就像这样:

<select id="order_status" class="form-control" name="order_status">

<option value="">Option 1</option>
<option value="">Option 2</option>

</select>


当我这样做时,第一个下拉列表初始化正常,但同一页面上的所有其他下拉列表都不正常。如何初始化所有的form_control下拉列表?
JSFiddle:http://jsfiddle.net/hryoy8rc/1/

hgncfbus

hgncfbus1#

这是当前版本中的一个错误,我在使用4.0.0时遇到了同样的问题,它将解决您的问题:https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.0/js/select2.min.js

aoyhnmkz

aoyhnmkz2#

试试下面的代码…

$('.form_control').each(function(index, element) {
    $(this).select2({
        minimumResultsForSearch: -1
    });
});

个字符

egdjgwm8

egdjgwm83#

最后,我给每个下拉列表一个动态生成的ID,如drop_003,然后在主体中初始化它,如下所示:

<script>
$('#drop_003').select2({
minimumResultsForSearch: -1
});
</script>

字符串

tjvv9vkg

tjvv9vkg4#

我使用的是Select2 4.0.2版本,这段代码对我很有用。它会将页面中的所有select元素初始化为Select2。

$(document).ready(function () {
   $('select').select2();
});

字符串

cbwuti44

cbwuti445#

为了动态地生成盒子,我不得不实际地循环选项,而不是使用助手。
解决方案:

$('.myselect').select2();

个字符

相关问题