gpt4 book ai didi

javascript - 如何将动态DOM元素变成Select2?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:27:13 24 4
gpt4 key购买 nike

我有以下 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。这是一个Fiddle给你玩。我正在使用 jQuery 1.12.4 并选择 4.0.3。

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

最佳答案

如果不使用 DOMNodeInserted 事件绑定(bind),似乎对我有用。

当调用 replaceWith() 方法时,可以假设元素已添加到 DOM 中。

JS Fiddle updated

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

关于javascript - 如何将动态DOM元素变成Select2?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40466871/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com