javascript - 将 select2 添加到动态添加的元素
问题描述
我正在尝试将 select2 js 应用于我动态创建的元素,请任何人帮助我
var a_html = '<div class="card skill_card"><div class="card-body media align-items-center"><div class="media-left mr-3"><span class="js-dragula-handle material-icons" style="cursor: move;">drag_handle</span></div><div class="media-body">' + '<a href="#<%=@pathn%>"><strong><%= @pathn %></strong></a>' + '</div><div class="media-right"><a href="" class="btn btn-flush ml-12pt" type="button" data-toggle="tooltip" data-title="Delete Path" data-placement="bottom" data-caret="false"><i class="material-icons icon-16pt">delete_outline</i></a></div></div></div>'
$(a_html).appendTo(".path_panel");
$('.path_list').append('<div id="<%= @pathn -%>"></div>');
<% js = escape_javascript(render(partial: 'admin/programmes/path', locals: { pathn: @pathn })) %>
$("#"+"<%= @pathn -%>").append("<%= js %>");
$("#"+"<%= @pathn -%>").find(".custom-select").select2();
部分页面代码--- _path.html.erb
<div class="form-group d-flex align-items-end mb-16pt">
<div class="form-group col-lg-8 mb-8pt pl-0">
<label class="form-label" for="select03">Add Examples Tech</label>
<p class="text-left">Description.</p>
<select id="skill_select" data-toggle="select" multiple class="form-control custom-select" data-path="<%=@pathn%>">
<%skills_data = skills_data ? skills_data : Org.skills_and_technologies%>
<% skills_data.each do |sk| %>
<option title="<%= "#{sk.klass}_#{sk.id}" %>"><%= sk.name.capitalize %></option>
<% end %>
</select>
</div>
<div class=""><%= submit_tag "Add", :name => nil, class: "btn btn-accent btn-rounded mb-8pt ml-16pt add_skill", id: @pathn %></div>
</div>
解决方案
唯一想到的是,如果整个 js 模板没有错误,那.custom-select
之后浏览器看不到正确的append
.
AFAIKappend
是同步的,应该应用选择。请试试这个:
setTimeout(function() {
$("#"+"<%= @pathn -%>").find(".custom-select").select2()
}, 0)
推荐阅读
- r - 用 r 中的每小时数据计算每日平均值
- ffmpeg - ffmpeg:如何在使用 filter select='between(t,start,stop)+between...' 进行多次 (100) 剪辑时保持音频同步
- python - 选择一个随机列表,然后从该列表中提取信息
- java - spring boot and reactjs for frontend was working fine till i add security to the backend
- firebase - 如何限制应用程序的高级功能?
- sip - 我正在开发 RTP 服务器。我没有得到我的确认。我究竟做错了什么?
- swift - 从 iOS 13 UIDatepicker 转换到 iOS 14 UIDatepicker
- sql - 如何使用来自同一表的值在表上应用 RLS
- angular - Angular 材料日期选择器在 1 天前发送日期以及如何使用 Angular 材料日期选择器的时刻
- r - 如何从月度数据传递到季度数据?R 数据框