选择2 - 从多个选择中删除项目 - 仅在点击时显示占位符

时间:2013-07-02 05:01:18

标签: jquery jquery-select2

我正在为selectbox使用select2 a jquery插件 - http://ivaynberg.github.io/select2/

关于这一点的一个好处是有多个选择的方式,但我遇到了问题。

问题1 - 当您单击下拉框时,占位符文本消失,因为您可以看到列表,但是如果您单击列表,占位符将不再显示,直到您再次单击。

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

在没有额外点击的情况下删除最后一个元素后,文本会立即返回

如果你去http://ivaynberg.github.io/select2/和程序化访问部分并使用第二个下拉菜单,你会看到问题。

这里是一个小提琴手

http://jsfiddle.net/dwhitmarsh/MfJ4B/13/

这是我的代码

$(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;
}

0 个答案:

没有答案