1、经常用到如下图的选择器,而且要支持排序的,所以萌生用JQUERY写一个。 功能如下: 左右多选,移动。 右边的项可以上下拖动 源代码如下 /* name:TwoWay-Select Control for Jquery author:arn date:2009-12-29 remark: AJAX URL返回数据必须是json格式{state:1,msg:'',fields:[]} 1、右边可以上下拖动 2、$('#div').twowaylist({url:'',onBeforeSubmit:'',captionColumn''}); 3、$('#div').twowaylistinit({field_no:'xx',...}); 4、$('#div').twowaylistsubmit({'rptid':$('#txtid').val(),'act':'rpt'}) //AJAX URL用到的参数 */ (function($){ $.addList = function(t,p) { if (t.checkbox) return false; //return if already exist // apply default properties p = $.extend({ items:[], //ALL ITEMS captionColumn:'caption', //显示的名称 isgroupColumn:'group', //分组CHECKBOX用到的字段 idColumn:'FIELD_NO', //编号字段 height: 320, //default height width: 'auto', //auto width url: false, //ajax url method: 'POST', // data sending method errormsg: 'Connection Error', title: false, dataType:'json', onSuccess: false, // using a custom populate function onBeforeSubmit: false //提交之前处理事项 }, p); //create twoway-select class var d = { json2str:function(json) { var isArrObj = $.isArray(json); var arr = []; // for (var key in json) { var k = isArrObj? '' : key+":" ; if (typeof json[key] == 'object' && json[key] != null) arr.push(k + d.json2str(json[key])); //JSON对象 else arr.push(k + "'" + decodeURIComponent(json[key]) +"'"); //普通值 } return isArrObj ? '[' + arr.join(',') + ']' : '{' + arr.join(',') + '}'; }, str2json:function(str) { return eval('('+str+')'); }, l2r:function(o){ var json = d.str2json($(o).attr('json