我如何设置占位符的值重置由select2。在我的例子中,如果位置或等级选择框被单击,我的select2有一个值,那么select2的值应该重置并显示默认占位符。这个脚本正在重置值,但不会显示占位符
$("#locations, #grade ").change(function() {
$('#e6').select2('data', {
placeholder: "Studiengang wählen",
id: null,
text: ''
});
});
$("#e6").select2({
placeholder: "Studiengang wählen",
width: 'resolve',
id: function(e) {
return e.subject;
},
minimumInputLength: 2,
ajax: {
url: "index.php?option=com_unis&task=search.locator&tmpl=component&<?php echo JSession::getFormToken() ?>=1",
dataType: 'json',
data: function(term, page) {
return {
q: term, // search term
g: $('#grade option:selected').val(),
o: $('#locations option:selected').val()
};
},
results: function(data, page) {
return {
results: data
};
}
},
formatResult: subjectFormatResult,
formatSelection: subjectFormatSelection,
dropdownCssClass: "bigdrop",
escapeMarkup: function(m) {
return m;
}
});
在尝试了这里的前10个解决方案并失败后,我发现这个解决方案是有效的(参见“nilov评论于4月7日•编辑”):
(function ($) {
$.fn.refreshDataSelect2 = function (data) {
this.select2('data', data);
// Update options
var $select = $(this[0]);
var options = data.map(function(item) {
return '<option value="' + item.id + '">' + item.text + '</option>';
});
$select.html(options.join('')).change();
};
})(jQuery);
然后进行更改:
var data = [{ id: 1, text: 'some value' }];
$('.js-some-field').refreshDataSelect2(data);
(作者最初显示var $select = $(this[1]);,评论者更正为var $select = $(this[0]);,这是我上面显示的。)
使用Select2管理lte 3。
经过多次尝试,这对我来说是有效的:
库位于顶部(如果与bootstrap冲突,则修改位置)
<link rel="stylesheet" href="/template/almasaeed2010/adminlte/plugins/select2/css/select2.min.css" >
<link rel="stylesheet" href="/template/almasaeed2010/adminlte/plugins/select2-bootstrap4-theme/select2-bootstrap4.min.css" >
JS脚本(在JQuery之后,在.select2(…脚本)
<script src="/template/almasaeed2010/adminlte/plugins/select2/js/select2.full.min.js"></script>
HTML
<select name="mode_de_reglement" id="mode_de_reglement" >
<option value="cheque">cheque</option>
<option value="virement">virement</option>
<option value="carte_bancaire">carte bancaire</option>
</select>
初始化脚本:
$("#mode_de_reglement").select2({
placeholder : "Mode de réglement"
});
$('#mode_de_reglement').val('');//setting starting value to empty because by default it selects the first value
$('#mode_de_reglement').trigger('change');//change to let the select2 library know you modified the value programmatically
最后,每当窗体重新打开时,我再次使用刷新选择:
//... onclick="openModalNewRecord()"
$('#mode_de_reglement').val('');
$('#mode_de_reglement').trigger('change');
这是我使用的模板AdminLte3
还要注意,您可以使用
$("#mode_de_reglement").select2({
placeholder : "Mode de réglement" ,
allowClear : true
});
允许清除添加一个X按钮,以清除选择和显示占位符,但我不使用它,除非该字段在数据库中为空。