PHP
bootstrap下拉列表实现多选、反选功能
bootstrap下拉列表实现多选、反选功能
博主今天在实现一个功能需求,需要用到bootstrap下拉列表多选框实现反选功能,博主也特意去百度了一下,结果什么都没有,只能自己通过方法实现,下面将这个方法分享给大家,代码也很简单。
我们首先构造下拉列表框,并且实现多选功能,我们要用一个隐藏的input来存放我们勾选的数据,页面代码如下:
<div class='form-group'> <select class='selectpicker' style='border-radius:5px;' autocomplete='off' id='partyBInfoName' data-live-search='true' multiple title='--请选择下游渠道--'> <option value='1'>1</option> <option value='2'>2</option> <option value='3'>3</option> <option value='4'>4</option> <option value='5'>5</option> </select> </div> <input type='hidden' class='form-control' id='channelUserIds' name='channelUserIds' style='border-radius:5px' autocomplete='off'>
然后是js部分,代码如下:
/**初始化下拉选择框**/
$('.selectpicker').selectpicker('refresh');
$('.selectpicker').selectpicker('render');
//选中赋值
$("#channelUserId").change(function(){
$("input[name=channelUserIds]").val($("#channelUserId").val());
})完成以上操作,我们便可以实现多选功能,然后便是实现反选功能,我们先构造一个反选的按钮,代码如下:
<button type='button' class='btn btn-primary' id='reverseElection'>反选</button>
赋予他反选的功能,代码如下:
$('#reverseElection').on('click', function () {
//置空已经选择
$("input[name=channelUserIds]").val('');
//
var useSelect = $("#channelUserId").val();
//【修改选中状态】
var obj=document.getElementById("channelUserId");
for(i=0;i<obj.length;i++) {
if(obj[i].selected!=true) {
obj[i].selected = true;
}else{
obj[i].selected = false;
}
}
//重刷渲染
$('.selectpicker').selectpicker('render');
//反选赋值
for(i=0;i<obj.length;i++) {
if(obj[i].selected==true) {
$("input[name=channelUserIds]").val($("#channelUserId").val());
obj[i].selected = true;
}else{
obj[i].selected = false;
}
}
//
});这样我们便可以实现下拉列框实现多选、反选功能。
0条评论