bootstrap-select添加项目并选择它

Chr*_*nes 15 javascript jquery twitter-bootstrap bootstrap-select

我正在使用Silvio Moreto的Bootstrap Select.

在我的页面上,我有一个按钮,打开一个带有输入框的模态,允许您将项添加到选择器.然后我想自动选择该项目,但我无法让它工作.

我的代码是:

$('#myselect').append('<option val="'+newitemnum+'">'+newitemdesc+'</option>');
$('#myselect').val(newitemnum);
$('#myselect').selectpicker('refresh');
Run Code Online (Sandbox Code Playgroud)

但它只是不起作用.该项目未被选中.

我尝试用以下内容替换选择线:

$('#myselect').selectpicker('val',newitemnum);
Run Code Online (Sandbox Code Playgroud)

但这也不起作用

任何想法都很受欢迎(虽然该项目已添加到选择选择器).

Dan*_*ien 41

你有一个错字.代替:

$('#myselect').append('<option val="'+newitemnum+'">'+newitemdesc+'</option>');
Run Code Online (Sandbox Code Playgroud)

你需要:

$('#myselect').append('<option value="'+newitemnum+'">'+newitemdesc+'</option>');
Run Code Online (Sandbox Code Playgroud)

这是一个JSFiddle演示:http: //jsfiddle.net/xbr5agqt/

"添加并选择'酱油'选项"按钮执行以下操作:

$("#myselect").append('<option value="'+newitemnum+'">'+newitemdesc+'</option>');
$("#myselect").val(4);
$("#myselect").selectpicker("refresh");
Run Code Online (Sandbox Code Playgroud)

一个稍微快一点的方法(由"添加并选择'Relish'选项"按钮使用)是附加selected已经应用了属性的新<option>元素:

$("#myselect").append('<option value="'+newitemnum+'" selected="">'+newitemdesc+'</option>');
$("#myselect").selectpicker("refresh");
Run Code Online (Sandbox Code Playgroud)


Nis*_*K.R 5

用于options动态添加bootstrap-selectpickerappendoptionselectrefreshselectpicker

$(document).on('click','#addOptions',function(){
  var newitemnum = Math.floor(Math.random() * 100) + 1;
  var newitemdesc = "Item "+ newitemnum;
  
  // Append the option to select
  $('#myselect').append('<option value="'+newitemnum+'">'+newitemdesc+'</option>');
  
  // Set the select value with new option
  $("#myselect").val(newitemnum);
  
  // Refresh the selectpicker
  $("#myselect").selectpicker("refresh");
});
Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" />
<script type="text/javascript" src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/js/bootstrap.min.js"></script>


<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-select@1.13.9/dist/css/bootstrap-select.min.css">

<!-- Latest compiled and minified JavaScript -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap-select@1.13.9/dist/js/bootstrap-select.min.js"></script>

<select name="myselect[]" class="selectpicker" id="myselect">
  <option value="A1">Anatomy</option>
  <option value="A2">Anesthesia</option>
  <option value="A3">Biochemistry</option>
  <option value="A4">Community Medicine</option>
  <option value="A5">Dermatology</option>
  <option value="A6">ENT</option>
</select>

<button id="addOptions" class="btn btn-success">Add</button>
Run Code Online (Sandbox Code Playgroud)

为了更好,请selected在附加选项中添加属性

// Append the option to select
$('#myselect').append('<option value="'+newitemnum+'" selected>'+newitemdesc+'</option>');
Run Code Online (Sandbox Code Playgroud)