繁体   English   中英

在“升级”到select2之后向dom添加元素

[英]adding elements to the dom after “upgrading” to select2

select2在添加到dom的元素上效果很好:

$('select').select2({data:['Foo','Bar']}); 

但是如果以后再将元素添加到dom中,则无法正常工作。

function ElementCreator() {
    var elem = $('<select>');
    elem.select2({data:['Foo','Bar']});
    return elem;
}

//creater is called like..
ElementCreator().appendTo('#holder");

一种解决方法(我不喜欢这样):

function ElementCreator() {
    var elem = $('<select>');
    window.setTimeout(function() { elem.select2({data:['Foo','Bar']});},1);
    return elem;
}

是否可以在尚未插入DOM的元素上创建select2选择器?

找到了答案。

这就是问题:

 var elem = $('<select>');  //elem contains the select element
 elem.select2({data:['Foo','Bar']});
 return elem;  //elem contains only the "old" select element

这是解决方案:

 var cont= $('<span>');
 var elem = $('<select>').appendTo(container) ;  //cont contains the span + select element
 elem.select2({data:['Foo','Bar']}); //cont contains the span + "old" select + new select2 stuff.
 return cont ;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM