Bootstrap not being applied to dynamically created elements(引导未应用于动态创建的元素)
本文介绍了引导未应用于动态创建的元素的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试制作一个计算器,如果您愿意,您可以在其中增加输入的数量-计算器本身在寻找必要的值方面工作得很好,但我也希望能够搜索下拉输入,因为它们确实很长,因此我使用bootstrap-select。
问题是只有默认输入才会应用引导主题,而通过单击必要按钮创建的输入不会应用主题。我如何着手修复此问题?
您期望的是什么?所有输入都像默认输入一样设置了"样式",并带有搜索菜单等。 您会看到什么?只有默认输入是"带样式的",而通过单击按钮创建的输入不会
数据-lang="js"数据-隐藏="假"数据-控制台="真"数据-巴贝尔="假">var i = 0;
function createGear() {
i++;
var container = document.getElementById("newGear");
var gear = document.createElement("select");
gear.id = "gear" + i;
gear.setAttribute("class", "selectpicker");
gear.setAttribute("data-live-search", "true");
container.appendChild(gear);
var none = document.createElement("option");
none.value = "none";
none.text = "";
gear.add(none);
var pistols = document.createElement("optgroup");
pistols.label = "Pistols";
gear.add(pistols);
var pistol1 = document.createElement("option");
pistol1.value = "pistol1";
pistol1.text = "M1911";
gear.add(pistol1);
pistols.appendChild(pistol1);
return i;
}
<!DOCTYPE html>
<html>
<head>
<link href="//netdna.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css" rel="stylesheet">
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.6.3/css/bootstrap-select.min.css" />
<script src="anMvc2NyaXB0Lmpz" type="text/javascript"></script>
</head>
<body>
<form id="form">
<select class="selectpicker" data-live-search="true" id="gear0">
<option></option>
<optgroup label="Pistols">
<option value="pistol1">M1911</option>
</optgroup>
</select>
<div id="newGear">
</div>
<input type="button" onclick="createGear()" value="Create Gear Input!">
</form>
<script src="aHR0cHM6Ly9hamF4Lmdvb2dsZWFwaXMuY29tL2FqYXgvbGlicy9qcXVlcnkvMS4xMS4yL2pxdWVyeS5taW4uanM="></script>
<script src="aHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9ib290c3RyYXAvMy4zLjIvanMvYm9vdHN0cmFwLm1pbi5qcw=="></script>
<script src="Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvYm9vdHN0cmFwLXNlbGVjdC8xLjYuMy9qcy9ib290c3RyYXAtc2VsZWN0Lm1pbi5qcw=="></script>
</body>
</html>
推荐答案
这是因为您动态添加到页面的select
永远不会被初始化为bootstrap-select
组件。加载页面时,页面上已有的类将自动初始化,因为它具有selectpicker
类。
将新的SELECT添加到页面后,只需添加以下语句:
$(gear).selectpicker();
这篇关于引导未应用于动态创建的元素的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:引导未应用于动态创建的元素


猜你喜欢
- Quasar 2+Apollo:错误:找不到ID为默认的Apollo客户端。如果您在组件设置之外,请使用ProvideApolloClient() 2022-01-01
- 400或500级别的HTTP响应 2022-01-01
- 失败的 Canvas 360 jquery 插件 2022-01-01
- Css:将嵌套元素定位在父元素边界之外一点 2022-09-07
- 使用RSelum从网站(报纸档案)中抓取多个网页 2022-09-06
- Flexslider 箭头未正确显示 2022-01-01
- 如何使用 JSON 格式的 jQuery AJAX 从 .cfm 页面输出查 2022-01-01
- addEventListener 在 IE 11 中不起作用 2022-01-01
- CSS媒体查询(最大高度)不起作用,但为什么? 2022-01-01
- Fetch API 如何获取响应体? 2022-01-01