|
@@ -443,4 +443,132 @@ function init_ulc(node){
|
|
|
urlPrefix:null
|
|
|
});
|
|
|
return ulc;
|
|
|
-};
|
|
|
+};
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+/****
|
|
|
+ * 插件api :
|
|
|
+ * 插件依赖Jquery1.6以上
|
|
|
+ * version : 0.1 初始
|
|
|
+ * version : 1.0 建立回调函数
|
|
|
+ * version : 2.0增加一种简单调用方式
|
|
|
+ * version : 2.1优化以名称的判断方式
|
|
|
+ * version : 2.1增加设置值判断标志位,增加getIsNameCorrect()函数,可以查询加载完成之后,值是否设置成功;
|
|
|
+ * version : 2.2优化设置值的方式
|
|
|
+
|
|
|
+ * -------初始化-------
|
|
|
+ * 有两种初始化,可自行选择,推荐使用b
|
|
|
+ * a:为某个select通用组件注册,使用js赋值详细参数
|
|
|
+ * html :
|
|
|
+ <div class="init_ulc">
|
|
|
+ <select class="ulc_level_1" ></select>
|
|
|
+ <select class="ulc_level_2" ></select>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ * js:
|
|
|
+ var $ulc1 = $(".init_ulc").find(".ulc_level_1");
|
|
|
+ var $ulc2 = $(".init_ulc").find(".ulc_level_2");
|
|
|
+ var ulc = $(".init_ulc").initUlc({
|
|
|
+ urlPrefix: "", // 根路径
|
|
|
+ judgeNameShield : ["x1","x2"], //在比对option的text的值时,需要去掉某些值,才能展示出包含的参数,如"省","市","县","乡","镇","市","自治区" -- 可选
|
|
|
+ allCallback: function xx(data){} //回调函数名称,可选 -- 所有的select点击,都会触发此函数,回调的值为所有的selece选中的data数据 -- 可选
|
|
|
+ ulcLevel : [ //select的集合
|
|
|
+ {
|
|
|
+ ulcNode: $ulc1, //第一个select的节点 -- 必选
|
|
|
+ ulcURL: "/getselect1", //url -- 必选
|
|
|
+ ulcId : $ulc1.attr("ulcId"), //用于默认选中某个选项 该值等于option的value -- 可选
|
|
|
+ ulcName: $ulc1.attr("ulcName"), //用于默认选中某个选项 该值等于option的text -- 可选
|
|
|
+ isFristSelect : false, //是否有首行选择项,如“请选择XXX” false:无 true:是 -- 可选
|
|
|
+ fristSelectMsg : "请选择XXX", //当isFristSelect为true的时候,首行默认选中"请选择XXX",默认value为空 -- 当isFristSelect为true,必选
|
|
|
+ callback:function xx(data){} // 当前select点击,触发该函数,回调的值为当前选中的data数据 -- 可选
|
|
|
+ repData: function(res){ //res 即为原始返回的数据,json返回数据 -- 必选
|
|
|
+ return {
|
|
|
+ "isFlag": 200, //返回数据与code的值返回比较,相等为获取成功,不等为获取失败 -- 可选 ,默认200
|
|
|
+ "code": res.xxxcode, //解析返回数据返回状态
|
|
|
+ "msg": res.xxxMsg, //解析提示文本,失败提示文本
|
|
|
+ "data": res.xxxList.data1List //解析数据列表,成功返回的是集合
|
|
|
+ };
|
|
|
+ },
|
|
|
+ parseData:function(data){ //data为repData中的data数据 -- 必选
|
|
|
+ return {
|
|
|
+ "id": data.xxxId, //解析data中id值,为option的value
|
|
|
+ "val": data.xxxName, //解析data中name值,为option的text
|
|
|
+ "msg": data.xxxMsg, //附加值,可以绑定某个不需要的值,为option新增msg属性 -- 可选
|
|
|
+ };
|
|
|
+ }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ ulcNode: $ulc2, //第一个select的节点 -- 必选
|
|
|
+ ……
|
|
|
+ },
|
|
|
+ ]
|
|
|
+ });
|
|
|
+ *
|
|
|
+ * b:使用html的属性来携带参数,直接初始化
|
|
|
+ * html :
|
|
|
+ <div class="init_ulc" code="xxxcode" msg="xxxMsg" data="xxxList">
|
|
|
+ <select class="select" ulcId="" ulcName=""
|
|
|
+ ulcURL="/getselect1" ulcList="data1List" ulcValName="xxxName" ulcValId="xxxId" ulcMsg=""
|
|
|
+ ulcIsFristSelect="true" ulcFristSelectMsg="请选择XXX">
|
|
|
+ </select>
|
|
|
+ <select class="select" ulcId="" ulcName=""
|
|
|
+ ulcURL="/getselect2" ulcList="data2List" ulcValName="xxxName" ulcValId="xxxId" ulcMsg=""
|
|
|
+ ulcIsFristSelect="true" ulcFristSelectMsg="请选择XXX">
|
|
|
+ </select>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ 属性说明:
|
|
|
+ div:
|
|
|
+ code: 解析返回数据返回状态
|
|
|
+ xxxMsg:解析提示文本,失败提示文本
|
|
|
+ xxxList:解析数据列表,成功返回的是集合
|
|
|
+ select:
|
|
|
+ ulcURL: url -- 必选
|
|
|
+ ulcList: 解析数据列表,成功返回的是集合 data.xxxList.ulcList
|
|
|
+ ulcValName:解析data中name值,为option的text
|
|
|
+ ulcValId:解析data中id值,为option的value
|
|
|
+ ulcMsg:附加值,可以绑定某个不需要的值,为option新增msg属性 -- 可选
|
|
|
+ ulcIsFristSelect:是否有首行选择项,如“请选择XXX” false:无 true:是 -- 必选
|
|
|
+ ulcFristSelectMsg:"请选择XXX", //当isFristSelect为true的时候,首行默认选中"请选择XXX",默认value为空 -- 当isFristSelect为true,必选
|
|
|
+ ulcId:用于默认选中某个选项 该值等于option的value -- 可选
|
|
|
+ ulcName:用于默认选中某个选项 该值等于option的text -- 可选
|
|
|
+
|
|
|
+ * js:
|
|
|
+ var ulc = $(".init_ulc").initUlcByHtml({
|
|
|
+ ulcLevel:null
|
|
|
+ });
|
|
|
+ * -------初始化END-------
|
|
|
+ * -------方法-------
|
|
|
+ * setUlcById(level,id1,id2……);
|
|
|
+ * level:
|
|
|
+ * 1:可以为第一个select的jq对象,
|
|
|
+ * ulc.setUlcById($("第一个select元素"),1001,2001); 等价 ulc.setUlcById($("第一个select元素"),1001); ulc.setUlcById($("第二个select元素"),2001);
|
|
|
+ *
|
|
|
+ * 2:可以level值(ulc初始化之后,会给每个select添加一个附加属性level,第一级select为0,第二级为1)
|
|
|
+ * ulc.setUlcById(0,1001,2001); 等价 ulc.setUlcById(0,1001); ulc.setUlcById(1,2001);
|
|
|
+ * id1/id2:
|
|
|
+ * id的值
|
|
|
+ version : 2.2中优化设置值:ulc.setUlcById(level,array); 第二值为array类型; 同样末尾多于的值无用
|
|
|
+
|
|
|
+ *
|
|
|
+ * setUlcByName(level,name1,name2……); 基本操作同setUlcById一样
|
|
|
+ * 调用此方法,会去比对每一个select中option属性text的值,并不一定十分准确,另外还提供judgeNameShield集合来存储需要去除的文字,方便比对
|
|
|
+ * 具体方法参考 setUlcById()
|
|
|
+ *
|
|
|
+ * setUlcAllCallback(xxFunc); setUlcAllCallback为设置全回调用方法,点击所有ulc组件的select,都将调用此方法,
|
|
|
+ * xxFunc为自己的方法名称,如function xxFunc(data){} data: 每个select中option,都是一个data,ulc将会吧每一级选中的data存储下来形成集合
|
|
|
+ * data[0] ==》 第一级的select选中的参数的data
|
|
|
+ * data[1] ==》 第二级的select选中的参数的data
|
|
|
+ *
|
|
|
+ *setUlcCallback(xx1Func,level); setUlcCallback为单个select的点击事件设置回调方法
|
|
|
+ * xx1Func:
|
|
|
+ * 为自己的方法名称,如function xxFunc(ulc1Data){} ulc1Data: 该level的select所选的值
|
|
|
+ * level
|
|
|
+ * 级别0,1,2,3
|
|
|
+
|
|
|
+ *getIsNameCorrect()(); 调用此方法,可返回setUlcByName()和setUlcById()的设置值是否正确;
|
|
|
+ * return boolean true为正确,false 有误
|
|
|
+ * -------方法END-------
|
|
|
+ */
|