首页 > 应用开发 > Java > Jquery多选数据字典插件
/**
*多选的数据字典
*Date: 2012-04-10
*孙伟
*/
(function($){
$.fn.dropdownlist=function(opts){
var settings = {
id:'',
width:100,
listboxwidth:0,
listboxmaxheight:200,
listboxalign:'auto',
columns:1,
checkbox:false,
maxchecked:3,
selectedtext:'',
requiredvalue:[],
disabled:false,
selectclass:'ddl-select',
listboxclass:'ddl-listbox',
selected:[],
name : "",
data:{},
url:"",
code:"",
onchange:null
};
//继承用户自定义属性
var options = $.extend(settings,opts);
//禁止事件
var stopBubble=function (a) {
var a = a || window.event;
if (a.stopPropagation) {
a.stopPropagation()
} else {
window.event.cancelBubble = true
}
};
//
if(navigator.userAgent.toLowerCase().indexOf('msie 6.0')!=-1)
{
select.mouseover(function(){
if(!select.hasClass('hover'))select.addClass('hover');
}).mouseout(function(){
if(select.hasClass('hover'))select.removeClass('hover');
});
}
var $this = $(this);
var select;
var selectInput;
//这个是多选字典的div的id,必须是唯一的
var selectDivId = $this.attr("id");
var hide = true;
$this.empty();
//window[settings.id]={};
//var objid = eval(settings.id);
//objid.onchange=settings.onchange;
//字典回调函数
var callBack = function(result){
if(result.exception==undefined){
options.data = {};
var resultJson = result.multiDictList;
for(var i=0;i
var value = resultJson[i]['value'];
options.data[key] = value;
}
//initData();
//初始化
initData(options.data,options.selected);
//objid.text = select.attr('selectedText');
//objid.value = select.attr('selectedValue');
}else{
alertShow(result.exception.message);
}
}
/**
* 获取项目根目录
* @return 返回项目根目录
*/
var getProjectBasePath = function(){
//获取当前网址,如: http://localhost:8083/uimcardprj/share/meun.jsp
var curWwwPath=window.document.location.href;
//获取主机地址之后的目录,如: uimcardprj/share/meun.jsp
var pathName=window.document.location.pathname;
var pos=curWwwPath.indexOf(pathName);
//获取主机地址,如: http://localhost:8083
var localhostPaht=curWwwPath.substring(0,pos);
//获取带"/"的项目名,如:/uimcardprj
var projectName=pathName.substring(0,pathName.substr(1).indexOf('/')+1);
return (localhostPaht+projectName);
}
$.post(getProjectBasePath()+"/base/multiSelectDict.action",{"multiDict.code":options.code},callBack);
//初始化数据
var initData = function(mdata,selectedValue){
select = $('
用法:
var selectObj;
$(document).ready(function(){
selectObj = $('#multiSelect1').dropdownlist({
checkbox:true,//是否复选
width:400,
code:"PROD_PEACCU",
selected:"${dictTest}",
name : "role.dict"
});
function setValues(){
selectObj.setValues("1,2,3");
}
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/25261409/viewspace-1057871/ ,如需转载,请注明出处,否则将追究法律责任。