19

我正在使用 bootstrap-select 作为表单。我在 HTML 文件的标题中包含脚本(jquery、bootstrap-select)。

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.12.2/css/bootstrap-select.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.12.2/js/bootstrap-select.min.js"></script>
<link rel="stylesheet "type="text/css" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>

所有具有“selectpicker”类的选择元素都正确调用。选择元素的示例:

<select id="test" class="selectpicker">
        <option>Mustard</option>
        <option>Ketchup</option>
        <option>Relish</option>
</select>

但是,如果我在同一页面上调用以下脚本

<script>
$(document).ready(
    function () {
        $('#test').selectpicker('val', 'Relish')
});
</script>

我得到这个讨厌的错误

$(...).selectpicker 不是函数

查看 Google Chrome 中的源选项卡,我发现 bootstrap-select.min.js 加载良好。有人有建议吗?

4

3 回答 3

36

如果您在bootstrap-select.min.jsjquery.js之后加载了另一个引用,它将清除函数和其他函数。确保最后加载 bootstrap-select.min.js。$(...).selectpicker

于 2017-04-12T10:20:42.467 回答
3

尝试在 bootstrap-select 之前加载 bootstrap ;-)

<link rel="stylesheet "type="text/css" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.12.2/css/bootstrap-select.min.css">

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.12.2/js/bootstrap-select.min.js"></script>
于 2017-04-12T11:37:50.840 回答
2

无论出于何种原因,这都需要通过 jquery 调用

$("#MyDropDown").selectpicker('render');

这(非 jquery)生成错误:

mdd = document.getElementById("MyDropDown");
mdd.selectpicker('render');

我很想知道为什么。

于 2021-01-09T12:46:14.990 回答