我如何设置占位符的值重置由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;
   }
});

当前回答

从v.4.0.x开始…

要清除值,还要恢复占位符使用…

.html('<option></option>');  // defaults to placeholder

如果它是空的,它将选择第一个选项项,而这可能不是你想要的

.html(''); // defaults to whatever item is first

坦率地说……Select2是如此令人讨厌,它竟然没有被替换,这让我感到惊讶。

其他回答

使用以下命令配置select2

    $('#selectelementid').select2({
        placeholder: "Please select an agent",
        allowClear: true // This is for clear get the clear button if wanted 
    });

以及以编程方式清除选择输入

    $("#selectelementid").val("").trigger("change");
    $("#selectelementid").trigger("change");

在js文件中使用这段代码

$('#id').val('1');
$('#id').trigger('change');

要重置表单,有些人会有一个重置按钮。 在脚本标记中添加以下代码

$('.your_btn_class').click(function(){
    $('#select_field_id').val([]);
    $("#select_field_id").select2({
    placeholder: "this is a placeholder",
    });
});

或者清空选择字段而不保留占位符:

$('.your_btn_class').click(function(){
    $('#select_field_id').val([]);
 });

删除所选值

$('#employee_id').select2('val','');

清除选项值

$('#employee_id').html('');

从v.4.0.x开始…

要清除值,还要恢复占位符使用…

.html('<option></option>');  // defaults to placeholder

如果它是空的,它将选择第一个选项项,而这可能不是你想要的

.html(''); // defaults to whatever item is first

坦率地说……Select2是如此令人讨厌,它竟然没有被替换,这让我感到惊讶。