我是bootstrap-selectpicker的新手。我有两个选择字段。我想知道如何根据第一个选择器的选择来更新第二个选择器的值。
class
Javascript代码:
<select id="id1" name="name1" class="selectpicker" data-live-search="true">
<option value="A">AAA</option>
<option value="B">BBB</option>
</select>
<select id="id2" name="name2" class="selectpicker" data-live-search="true">
<option value="A">AAA</option>
<option value="B">BBB</option>
<option value="C">CCC</option>
<option value="D">DDD</option>
</select>
上面的JS代码初始化了两个selectpickers。我错过了什么吗?或者这是错误的初始化方式?有人可以提供使用多个bootstrap-selectpickers的示例吗?
答案 0 :(得分:2)
你可以做到
$('.selectpicker').on('changed.bs.select', function (e) {
if($(this).attr('name')=="name2"){
$(".selectpicker[name='name1']").val(/*set value*/);
}
else{
$(".selectpicker[name='name2']").val(/*set value*/);
}
});
changed.bs.select
是图书馆的一个事件,您可以查看here
答案 1 :(得分:1)
尝试这个,我希望这会奏效 如果您的第一个选择值是1,那么在第二个选择中将只选择与第一个选择相同的值
$("#select1").change(function(){
if ($(this).data('options') == undefined){
$(this).data('options', $('#select2 option').clone());
} var id = $(this).val();
var options = $(this).data('options').filter('[value=' + id + ']');
$('#select2').html(options);
});
答案 2 :(得分:0)
如果您希望通过身份证明,可以分别对其进行初始化,但不一定需要:
$('#id1').selectpicker({
style: 'btn-info',
size: 4
});
$('#id2').selectpicker({
style: 'btn-info',
size: 4
});
根据第一个选择更新selectpicker的第二个值很容易。 当您更改第一个选择标记的值时,您应该只使用
获取第一个选择标记的值var result = $('select[name=name1]').val();
然后将其设置为另一个
$('select[name=name2]').val(result);
$('#id2').selectpicker('refresh');