【问题标题】:How to update bootstrap select (selectpicker) header by javascript如何通过javascript更新引导选择(selectpicker)标头
【发布时间】:2018-11-28 22:30:33
【问题描述】:

我想更改一个选择标题,但我做不到。

我试过了:

$('select').selectpicker({header: "New Header"}).selectpicker('render');

和:

$('select').selectpicker({header: "New Header"}).selectpicker('refresh');

我更新到最新版本。

【问题讨论】:

    标签: javascript twitter-bootstrap bootstrap-select bootstrap-selectpicker


    【解决方案1】:

    不幸的是,只有在初始化选择器时才会设置标题。不在refresh 上,也不在render 上。所以恐怕剩下的唯一选择是通过更新DOM来设置标题:

    $('select').selectpicker({ header: 'Header' });
    
    function changeHeader() {
      $('.popover-title').contents().filter(function() {
        return this.nodeType === 3;
      })[0].nodeValue = 'New Header';
    }
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <link rel="stylesheet" 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>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.13.3/css/bootstrap-select.min.css">
    <script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.13.3/js/bootstrap-select.min.js"></script>
    
    <select>
      <option>Option 1</option>
      <option>Option 2</option>
      <option>Option 3</option>
    </select>
    <button type="button" onclick="changeHeader()">Change header</button>

    【讨论】:

    • 当我们知道 $('select').selectpicker({ header: 'Header' }); 不会更新 DOM 时,是否有任何理由运行它?
    • 这一行使用header 选项初始化选择器。这个有效,标题将设置为“标题”。但是,除了更新 DOM 之外,无法更新标头
    猜你喜欢
    • 2017-06-28
    • 2022-08-05
    • 1970-01-01
    • 1970-01-01
    • 2019-05-27
    • 2021-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多