javascript - 以编程方式设置时不应用 Bootstrap 类

标签 javascript html twitter-bootstrap

当用户从下拉列表中选择表名时,我以编程方式将选择标记添加到 div“dataColumnBuilder”

<select class="dataTableSelect form-control" onchange="addFields();" onfocus="this.selectedIndex=-1;">
    <option value="">--</option>
    <option value="tableName">tableName</option>
</select>

通过调用这个js函数:

function addFields($datasetNm){
    var myDiv=document.getElementsByClassName("dataColumnBuilder");
    var selectList = document.createElement("select");
    selectList.setAttribute('data-placeholder', 'Choose Columns');
    selectList.setAttribute('class', 'chosen-select');
    selectList.setAttribute('tabindex', '4');
    selectList.setAttribute('multiple','');
    myDiv[0].appendChild(selectList);
    for (var i = 0; i <dataCols.length; i++) {
        var option = document.createElement("option");
        option.value = dataCols[i];
        option.text = dataCols[i];
        selectList.appendChild(option);
    }
}

$(函数() { $('.chosen-select').chosen(); });

它成功地将选择标签添加到 div:

<select data-placeholder="Choose Columns" class="chosen-select" tabindex="4" multiple="">
    <option value="pgm_id">pgm_id</option>
    <option value="title">title</option>
    <option value="description">description</option>
    <option value="status">status</option>
    <option value="approved_date">approved_date</option>
</select>

问题是我看不到“chosen-select”类,它是应用到以编程方式添加的选择列表上的 Bootstrap 类。

而如果我直接将它添加到 html 文件中,我将看到应用的类,所以我不知道我缺少什么。

您可以在这里检查问题:https://jsfiddle.net/Natalie77/96eds8vz/ 提前致谢

最佳答案

您调用$.fn.chosen DOM 准备就绪,但永远不要在新创建的 <select> 上再次调用它元素。

调用$(selectList).chosen()将节点添加到 DOM 后。

<小时/>

此外,避免混合使用 inline-javascript 和 jQuery,否则添加 jQuery 有何意义?

关于javascript - 以编程方式设置时不应用 Bootstrap 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40029041/

相关文章:

javascript - 如果搜索时没有结果,讲述人应读取 "no search results"

css - 如何在 Twitter Bootstrap 中实现 "Drag Out Menu"?

angularjs - Angular 中的动态 Bootstrap 下拉菜单不起作用

javascript - 如果用户连接/断开与 Facebook 的连接,动态更新页面?

javascript - 批处理 - 将整个控制台输出回显到文本文件(本质上是日志)

javascript - 铯 : "fan out" overlapping polylines?

html - css 中的大纲不适用于 IE(最新版本)

html - 将一个 div 重叠在另一个之上

javascript - 文本输入验证函数Javascript

html - 右对齐 Bootstrap 导航栏支持的内容