【问题标题】:data-live-search-style data attribute is not working in bootstrap select jsdata-live-search-style 数据属性在引导选择 js 中不起作用
【发布时间】:2017-04-07 00:50:50
【问题描述】:

我使用bootstrap-select.min.js 在下拉列表中进行搜索。但它给出了错误的结果。我的 html 代码如下所示:

<select data-live-search="true" data-live-search-style="startsWith" class="selectpicker">
    <option value="4444">4444</option>
    <option value="Fedex">Fedex</option>
    <option value="Elite">Elite</option>
    <option value="Interp">Interp</option>
    <option value="Test">Test</option>
</select>

当我写te 时,它会显示Elite, Interp and test 而不是test

如果我写te,它只会显示test。那么我应该对我的代码进行哪些更改?

【问题讨论】:

  • 你什么都不应该改变。您的标记完全符合您的预期。或许,你应该检查依赖的 CSS、JS。
  • @BobDust 我需要先显示test,因为我已经写了te

标签: html bootstrap-select


【解决方案1】:

这段代码 sn-p 表明您的代码正在运行:

<link rel="stylesheet" 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.1/css/bootstrap-select.css" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.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.1/js/bootstrap-select.js"></script>

<select data-live-search="true" data-live-search-style="startsWith" class="selectpicker">
  <option value="4444">4444</option>
  <option value="Fedex">Fedex</option>
  <option value="Elite">Elite</option>
  <option value="Interp">Interp</option>
  <option value="Test">Test</option>
</select>

【讨论】:

  • 我认为我的引导 jQuery 版本太旧了,这就是为什么它以前不能工作的原因。现在,它的工作非常感谢你。
  • 我的问题解决了,我用给定的 CDN 覆盖了我的 bootstrap.min.css,现在过滤器正在工作。
  • 恭喜@SPnL :D
【解决方案2】:

我遇到了类似的问题。对于每个搜索值,我对 liveSearchStyle“startsWith”的搜索结果始终为空。过了一会儿,我发现这是一个映射问题。这就是它对我的工作方式:

<abp-select
    picker-options.bind="{ liveSearch: true, dropupAuto: false, noneSelectedText: '', liveSearchStyle: 'startsWith' }"
    collection.bind="items"
    selected-item.bind="selectedItem"
    data-mapping-structure.bind="{ option: 'standardDisplayText', content: 'standardDisplayText' }"
    object-key="key">
</abp-select>

export interface IItem {
    key: string;
    value: string;
    displayText: string;
}

public items: IItem[];
public selectedItem: IItem;

items = [
    { key: '121', value: 'hello', displayText: '121 - hello' },
    { key: '112', value: 'world', displayText: '112 - world' },
];

search for: "12"
result: "121 - hello"

【讨论】:

    【解决方案3】:

    <link rel="stylesheet" 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.1/css/bootstrap-select.css" />
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.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.1/js/bootstrap-select.js"></script>
    
    <select data-live-search="true" class="selectpicker">
        <option value="4444">4444</option>
        <option value="Fedex">Fedex</option>
        <option value="Elite">Elite</option>
        <option value="Interp">Interp</option>
        <option value="Test">Test</option>
    </select>

    试试这个,效果如你所愿。

    【讨论】:

    • 请解释为什么这段代码回答了这个问题。
    • 谢谢。很好的答案,但请解释一下,这样我们才能理解为什么要尝试这段代码,因为这和上面的一样
    猜你喜欢
    • 2019-03-05
    • 2014-03-19
    • 2018-09-30
    • 1970-01-01
    • 2015-06-05
    • 2015-07-26
    • 1970-01-01
    相关资源
    最近更新 更多