繁体   English   中英

如何将动态DOM元素转换为Select2?

[英]How to turn dynamic DOM element into Select2?

我有以下HTML代码:

<input type="text" id="condition_value_1">
<span class="click_me">Click Me</span>

我正在用SELECT类型替换#condition_value_1元素,如下所示,并尝试将最近的SELECT转换为Select2:

$(function() {
  $('.click_me').click(function(ev) {
    var condition_value_1 = $('#condition_value_1');
    var select_html = '<select name="condition_value_1" id="condition_value_1"></select>';
    condition_value_1.replaceWith(select_html);

    $('body').on('DOMNodeInserted', '#condition_value_1', function() {
      $(this).select2({
        placeholder: 'Start typing ...',
        tags: true
      });
    });
  });
});

但由于元素保持为普通的HTML Select类型并且不会变成Select2,因此无效。 这是一个让你玩的小提琴 我使用的是jQuery 1.12.4和Select 4.0.3。

如何将动态元素转换为Select2元素? 有帮助吗?

如果不使用DOMNodeInserted事件绑定,似乎对我DOMNodeInserted

假设在调用replaceWith()方法时replaceWith()元素添加到DOM中,这是公平的。

JS Fiddle更新

$(function() {
  $('.click_me').click(function(ev) {
    var condition_value_1 = $('#condition_value_1');
    var select_html = '<select name="condition_value_1" id="condition_value_1"></select>';
    condition_value_1.replaceWith(select_html);

    $('#condition_value_1').select2({
        placeholder: 'Start typing ...',
        tags: true
      });
  });
});

暂无
暂无

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

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