如何通过 javascript 更新 bootstrap select (selectpicker) header

How to update bootstrap select (selectpicker) header by javascript

我想换一个selectheader,就是做不到

我试过:

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

和:

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

我更新到最新版本。

不幸的是,header 仅在初始化选择器时设置。不在 refresh 上,也不在 render 上。所以恐怕剩下的唯一选择是通过更新 DOM:

来设置 header

$('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>