1. 程式人生 > >Bootstrap Multiselect 動態二聯賦值 支援多選

Bootstrap Multiselect 動態二聯賦值 支援多選

$(document).ready(function() {

    // 省份
    $('#provinceId').select2({
        "language" : "zh-CN"
    }).on('select2:select', function(data) {
        var selectedValue = $(this).select2(data)[0].value;
        setCity(selectedValue);
    });
    
    $('#cityId').multiselect({
        includeSelectAllOption: true,
        selectAllValue:'select-all-value',
        nonSelectedText:'請選擇',
        nSelectedText:'個城市',
        allSelectedText:'全部',
        selectAllText:"全部城市",
        maxHeight: 300
    });
});

function setCity(provinceId) {
    $.ajax({
        type : "POST",
        url : ctx+"/query/city",
        data : "provinceId="+provinceId,
        success : function(jsonData) {
            //此處當省份選擇為全部=""的時候的特殊處理
            var citys=provinceId.length==0?"":eval(jsonData);
              $.each(citys, function(index, city) {                
                  $("#cityId").append('<option value="' + city.id + '">' + city.text + '</option>');
              });
              /**
               * Bootstrap Multiselect 動態賦值選項卡 2
               */
             var newCitys = new Array();
              var obj = new Object();
              $.each(citys, function(index, city) {
                  obj = {
                      label : city.text,
                      value : city.id
                  };
                  newCitys.push(obj);
              });
              $("#cityId").multiselect('dataprovider', newCitys);     
              $('#cityId').multiselect('refresh');
        }
    });
}