我使用引導程序3和bootstrap-table。我想使用'標籤'模式,如this示例。select2,x-editable和引導表兼容性
當我使用選擇2版本3.4.4(如在X-編輯爲例)我code的作品,但是當我想用最新版本4.0.0我code不起作用。
我收到錯誤消息:
未捕獲的錯誤:沒有選擇2到/ compat/inputData
我試圖select2.full.js更換select2.js,但在this情況下編輯框爲空。
如何讓可編輯的單元格與最新版本的select2兼容?
HTML
<table class="table table-striped table-bordered table-hover" cellspacing="0" id="mainTable" data-click-to-select="true" data-show-toggle="true" data-show-columns="true" data-search="true" data-pagination="true">
<thead>
<tr>
<th data-field="name" data-editable="true">Name</th>
<th data-field="stargazers_count" data-editable="true">Stars</th>
<th data-field="forks_count" data-editable="true">Forks</th>
<th data-field="description" data-editable="true">Description</th>
</tr>
</thead>
<tbody>
<tr><td>ala</td><td>ele</td><td class="tag" data-toggle="manual" data-type="select2" data-value="na, an, sd">na,an,sd</td><td>asd</td></tr>
<tr><td>ala</td><td>ele</td><td class="tag">na,an,sd</td><td>asd</td></tr>
<tr><td>ala</td><td>ele</td><td class="tag">na,an,sd</td><td>asd</td></tr>
</tbody>
</table>
的javascript
$.fn.editable.defaults.mode = 'inline';
$('table').bootstrapTable({
editable: true
});
console.log($('.tag'));
var tagCells = $('.tag');
$(tagCells).each(function() {
var tags = $(this).children(":first").html().replace(/ /g,'').split(",");
console.log(tags);
$(this).editable({
select2: {
tags: tags,
tokenSeparators: [",", " "]
}
});
});
$('.tag').click(function(e) {
e.stopPropagation();
e.preventDefault();
$(this).editable('toggle');
});
也許這可以幫助:https:// github。com/select2/select2/issues/3057在對話底部,提到select2 4不再對'input'標籤進行操作。如果我明白了,首先切換編輯(這會將單元格變成「輸入」),然後應用select2,在版本4中不支持「輸入」。 –
另外select2文檔在示例中有一個'select'(https://select2.github.io/options.html):' ' –
謝謝,你可以把它寫成答案,我可以授予它。 – Matt