JQuery 插件 select2 的 data-* 属性与 Backbone 配合得好吗?

Do JQuery plugin select2's data-* attributes play nice with Backbone?

这是我的模板中的一个片段(Backbone 和 Marionette):

<div class="form-group">
    <label for="some_id" class="align-left col-sm-4 control-label">Some Label</label>
    <div class="col-sm-7">
        <select id="some_id" style="width:150px;" data-minimumresultsforsearch="10" />
    </div>
</div>

然后在使用模板的View的onShow方法中:

types = ['Type 1', 'Type 2'];
this.$("#some_id").select2({
  data: types
}); 

这是select2 v4.0。类型出现,但 minimumresultsforsearch 没有任何效果。我不确定如何调试,欢迎任何建议!

仅供参考,我尝试在 html 中进行一些配置的原因是,据我所知,我必须在 onShow 中使用相同的配置选项,然后在任何方法中再次使用该元素需要更新的地方,所以我重复了很多代码。如果我可以将它们放在 html 中,我想我只需要在 javascript.

中使用相关选项,即 'data:'

您需要像这样设置 data- 属性:

data-minimum-results-for-search="25"

这将作为 .data( "minimumResultsForSearch" ) 加载到 .data(),并由 select2 提取。请查看 jQuery 的 parsing rules 以获得相同的信息。

$("#myselectbox").select2();
<link href="http://cdnjs.cloudflare.com/ajax/libs/select2/4.0.0/css/select2.min.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/select2/4.0.0/js/select2.min.js"></script>

<select id="myselectbox" data-minimum-results-for-search="25">
<option>1</option>
<option>2</option>
<option>3</option>
<option>14</option>
<option>15</option>
<option>26</option>
<option>37</option>
<option>38</option>
<option>19</option>
<option>22</option>
<option>222</option>
<option>22</option>
<option>1222</option>
</select>