I want to programmatically change the title of my Bootstrap-select selectpicker.
I tried the following JS code which does not work.
$('#myPicker')
.selectpicker({title: 'New title'})
.selectpicker('render');
Any other ways I can do this?
答案 0 :(得分:4)
Selectpicker仅在DOM已更新时才会更新。下面的函数应该更新标题,因为它允许selectpicker附加一个新的html对象(DOM被更改)
function newTitle() {
var selectpicker = $("#myPicker");
selectpicker.selectpicker();
selectpicker.selectpicker({title: 'New Title'}).selectpicker('render');
html = '';
selectpicker.html(html);
selectpicker.selectpicker("refresh");
}
答案 1 :(得分:2)
The posted code does seem to work in the snippet.
$(document).ready(function() {
$('#myPicker2')
.selectpicker({
title: 'New title'
});
});
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<link href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.11.0/css/bootstrap-select.min.css" rel="stylesheet" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.11.0/js/bootstrap-select.min.js"></script>
<select id="myPicker1" class="selectpicker" multiple title="Choose one of the following...">
<option>Mustard</option>
<option>Ketchup</option>
<option>Relish</option>
</select>
<select id="myPicker2" class="selectpicker" multiple title="Choose one of the following...">
<option>Mustard</option>
<option>Ketchup</option>
<option>Relish</option>
</select>