jQuery插件select 2的data-* 属性与Backbone配合得好吗?

wmomyfyw  于 2023-03-12  发布在  jQuery
关注(0)|答案(1)|浏览(200)

下面是我的模板(带 puppet 的 backbone )的一个片段:

<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>

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

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

这是select2 v4.0,类型出现了,但是搜索的最小结果没有任何效果,我不知道如何调试。
仅供参考,我之所以尝试在HTML中放置一些配置,是因为据我所知,我必须在onShow中使用相同的配置选项,然后在需要更新元素的任何方法中再次使用,因此我重复了大量代码。如果我可以在HTML中放置这些配置选项,我想我只需要在JavaScript中使用相关的选项,即“data:”。

sc4hvdpw

sc4hvdpw1#

您需要如下设置data-属性:
data-minimum-results-for-search="25"
这将作为.data( "minimumResultsForSearch" )加载到.data()中,并将由select2拾取。请查看jQuery的解析规则。

$("#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>

相关问题