Jquery 选择2-从多个项目中删除项目选择-单击仅占位符重新显示

Jquery 选择2-从多个项目中删除项目选择-单击仅占位符重新显示,jquery,jquery-select2,Jquery,Jquery Select2,我正在使用select2作为SelectBox的jquery插件- 这样做的一个好处是可以进行多次选择,但我遇到了一个问题 问题1-当您单击下拉框时,占位符文本消失,这是可以看到列表的,但是如果您单击列表的某个部分,占位符将不会重新显示,直到您再次单击 问题2-如果您确实进行了2或3个选择,然后在删除最后一个选项后再次删除这些选项,则必须在占位符文本返回之前单击方框 我真正想做的是,一旦删除最后一个元素,文本就会返回,而不需要额外的点击 如果您转到此处的编程访问部分并使用第二个下拉列表,您将看到

我正在使用select2作为SelectBox的jquery插件-

这样做的一个好处是可以进行多次选择,但我遇到了一个问题

问题1-当您单击下拉框时,占位符文本消失,这是可以看到列表的,但是如果您单击列表的某个部分,占位符将不会重新显示,直到您再次单击

问题2-如果您确实进行了2或3个选择,然后在删除最后一个选项后再次删除这些选项,则必须在占位符文本返回之前单击方框

我真正想做的是,一旦删除最后一个元素,文本就会返回,而不需要额外的点击

如果您转到此处的编程访问部分并使用第二个下拉列表,您将看到问题

这是一把js小提琴

这是我的密码

$(function() {  
  $(".select2").select2({ 
        formatSelection: multipleFormatResult,
        dropdownCssClass : 'bigdrop',
        escapeMarkup: function (m) { return m; }
    }).on("change", function(e) {

        //add tooltip when option selected
        var title = $(this).attr("data-placeholder");


        var data=$(this).select2("data");
        if ( checkObject(data) !== true) {
            $(this).parent().addClass("activeLI");
        } else {
            $(this).parent().removeClass("activeLI");
        }

    });

});

var hasOwnProperty = Object.prototype.hasOwnProperty;

function checkObject(obj) {

// null and undefined are empty
if (obj == null) return true;
// Assume if it has a length property with a non-zero value
// that that property is correct.
if (obj.length && obj.length > 0)    return false;
if (obj.length === 0)  return true;

for (var key in obj) {
    if (hasOwnProperty.call(obj, key))    return false;
}

return true;    
}
function multipleFormatResult(data, container) {    

var markup = data.text;
return markup;
}

我认为占位符是如何工作的。在模糊中,如果文本框为空,则显示占位符,否则聚焦时将不会显示占位符。请给我一个例子,或者更新JSFIDLE??哦!我错了。谢谢,老兄。我对select2不太熟悉,但我用过“工作良好”(问题2)。