select2 4.0.13 搞砸了我的 drop-down 选项

select2 4.0.13 messed up my drop-down options

所以当我将我的 select2 库从 4.0.3 升级到 4.0.13 时我遇到了一个问题,我的国家 drop-down 选项被搞砸了。

这是我的 HTML(我正在使用 PHP smarty 模板):

<div class="form-group clear">
    <label for="countryselect" class="col-md-3">
          Country
    </label>
    <div class="col-md-6 countrySelect" style="position: relative;z-index:9999;">
       <select id="country" class="form-control" name="country">
          <option {if $request.country==""}selected{/if} value="">Select a Country</option>
          {foreach from=$countries item=country key=countryKey}
             <option id="{$country.class}" value="{$countryKey}" {if $request.country == $countryKey} selected="selected" {/if}>{$country.name}</option>
          {/foreach}
       </select>
    </div>
</div>

这就是我在 select 部分调用 select2 的方式:

$('select[id=country').select2();

在 4.0.3 中,这是下拉列表:

在 4.0.13 中发生了这种情况(美国成为墨西哥后的所有选项,直到最后):

你能指导我如何解决这个问题吗?谢谢。

我通过调试 id="{$country.class}" 解决了这个问题,显然所有国家都有相同的 id,它给所有国家/地区提供了墨西哥,所以我只是更改了变量并且效果很好。 再次提一下,这是在 select2 库 4.0.3 中使用相同的 ID,但是当我升级库时它崩溃了。

感谢@r_a_f 在评论中指出。