gpt4 book ai didi

jquery - bootstrap-select 未选择任何内容

转载 作者:行者123 更新时间:2023-12-01 00:02:31 24 4
gpt4 key购买 nike

我正在使用 Bootstrap 选择。

<select name="categories[]" id="cat" class="selectpicker" multiple>
</select>

并从这里获取选项标签,

var result='';
for(var i=0; i<res.getcategories.length; i++)
{
result += '<option value='+res.getcategories[i].cat_id+'>'+res.getcategories[i].category+'</option>';
$('#cat').html(result);

}

但是它总是显示“未选择任何内容”,并且不显示其他选项。如果我不使用 bootstap 类“selectpicker”,一切都很好。

最佳答案

每当您从选择器中添加或删除元素时,您都需要:

.selectpicker('refresh'): To programmatically update a select with JavaScript, first manipulate the select, then use the refresh method to update the UI to match the new state. This is necessary when removing or adding options, or when disabling/enabling a select via JavaScript.

这意味着你必须执行:

$('#cat').selectpicker('refresh');

当您需要动态添加新元素时,最清晰、最简单的方法是使用 jQuery :

$('#cat').append($('<option>', {
value: res.getcategories[i].cat_id,
text: res.getcategories[i].category
}));

通过这种方式,您可以避免 < 和 > 或 "和 ' 符号等问题。

为了处理选择,您可以使用 changed.bs.select .

因此,有关如何在文档准备好时添加以及每当单击添加按钮时以及删除和选择的相应实现的示例是:

var res = {
getcategories: [{cat_id: 'Cat Id 1', category: 'Category 1'},
{cat_id: 'Cat Id 2', category: 'Category 2'}, {cat_id: 'Cat Id 3', category: 'Category 3'},
{cat_id: 'Cat Id 4', category: 'Category 4'}, {cat_id: 'Cat Id 5', category: 'Category 5'}]
};

$(function () {
$('#add').on('click', function (e) {
for (var i = 0; i < res.getcategories.length; i++) {
$('#cat').append($('<option>', {
value: res.getcategories[i].cat_id,
text: res.getcategories[i].category
}));
}
$('#cat').selectpicker('refresh');
}).trigger('click'); // this line to load on selectpicker on document ready

$('#remove').on('click', function (e) {
$('#cat option').remove();
$('#cat').selectpicker('refresh')
});

$('#cat').on('changed.bs.select', function(e) {
console.log('Selected elements: ' + ($('#cat').val() || ['Nothing selected']).join(', '));
})
});
<link rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.10.0/css/bootstrap-select.min.css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
<script src="https://code.jquery.com/jquery-1.12.1.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.10.0/js/bootstrap-select.min.js"></script>


<div class="container">
<h1>Selectpicker</h1>

<div class="row">
<div class="col-xs-12">
<select name="categories[]" id="cat" class="selectpicker" multiple>
</select>
</div>
</div>
</div>
<div class="container-fluid">
<h1></h1>

<div class="row">
<div class="col-xs-4">
<button id="add" type="button" class="btn btn-default btn-lg"><span class="glyphicon glyphicon-plus"></span>
Add Options
</button>
</div>
<div class="col-xs-8">
<button id="remove" type="button" class="btn btn-default btn-lg"><span
class="glyphicon glyphicon-remove"></span> Remove Options
</button>
</div>
</div>
</div>

关于jquery - bootstrap-select 未选择任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38768332/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com