Bootstrap Dual Listbox动态数据实现

效果图如下: 

一:需要依赖的文件

<link rel="stylesheet" href="assets/css/bootstrap.min.css" />
<link rel="stylesheet" href="assets/css/bootstrap-duallistbox.min.css" />
<script src="assets/js/jquery-2.1.4.min.js"></script>
<script src="assets/js/bootstrap.min.js"></script>
<script src="assets/js/jquery.bootstrap-duallistbox.min.js"></script>

二:默认数据实例

HTML代码:

<div class="col-sm-12">
    <select multiple="multiple" name="duallistbox_demo1[]" id="duallist">
        <option value="option1">Option 1</option>
        <option value="option2">Option 2</option>
        <option value="option3" selected="selected">Option 3</option>
        <option value="option4">Option 4</option>
        <option value="option5">Option 5</option>
        <option value="option6" selected="selected">Option 6</option>
        <option value="option7">Option 7</option>
        <option value="option8">Option 8</option>
        <option value="option9">Option 9</option>
        <option value="option0">Option 10</option>
    </select>
</div>

JS代码:

<script type="text/javascript">
    jQuery(function($){
        var demo1 = $('select[name="duallistbox_demo1[]"]').bootstrapDualListbox();
    });
</script>

三:动态数据实例

HTML代码:

<div class="col-sm-12">
        <select multiple="multiple" name="duallistbox_demo1[]" id="duallist">   
        </select>   
</div>

JS代码:

$.ajax({
    url:"/url",
    type:"post",
    async:true,
    success:function(returnData){
        $.each(returnData, function(key, val) {
            var o = document.createElement("option")
            o.value = val.id;
            o.text = val.permissionName;
            if("undefined" != typeof (selectedDataStr) && selectedDataStr != ""){
                var selectedDataArray = selectedDataStr.split(',');
                $.each(selectedDataArray, function (i, val){
                    if(o.value = val){
                        o.selected = "selected";
                        return false;
                    }
                });
            }
            $("select[multiple*='multiple']")[0].options.add(o);
        }); 

        $('select[name="duallistbox_demo1[]"]').bootstrapDualListbox({
            nonSelectedListLabel : "Non-selected",
            selectedListLabel : "selected",
            preserveSelectionOnMove : "moved",
        });
    },
    error: function(e){
        alert(e.msg)
    }
}); 
posted @ 2017-12-08 19:39  长腿CX媛  阅读(4211)  评论(0编辑  收藏  举报