|
@@ -90,12 +90,14 @@
|
|
|
}
|
|
|
if(falg){
|
|
|
if(ulc.ulcIsEmpty(node.ulcURL)){
|
|
|
+ //使用URL连接查询数据
|
|
|
$.get(ulc.ulcCufte(ulc.options.urlPrefix) + node.ulcURL + id, function(result){
|
|
|
ulc.setVal(level,result);
|
|
|
}).fail(function () { //要求jq 1.6以上
|
|
|
console.log("Query failed ...");
|
|
|
});
|
|
|
}else if(ulc.ulcIsEmpty(node.ulcReturnList)){
|
|
|
+ //使用Array数据
|
|
|
ulc.setVal(level,node.ulcReturnList);
|
|
|
}else{
|
|
|
console.log("No data source ...");
|
|
@@ -104,6 +106,7 @@
|
|
|
}
|
|
|
},
|
|
|
setVal:function(level,result){
|
|
|
+ //加载各个select的option
|
|
|
var ulc = this;
|
|
|
var node = ulc.options.ulcLevel[level];
|
|
|
var res = node.repData(result);
|
|
@@ -190,6 +193,7 @@
|
|
|
},
|
|
|
setUlcById: function(){
|
|
|
/**
|
|
|
+ * 设置ID改变option选择
|
|
|
* 形参 1:level(级别)或者节点
|
|
|
* 形参 2:id 传入id的值--数组
|
|
|
*/
|
|
@@ -238,6 +242,7 @@
|
|
|
},
|
|
|
setUlcByName: function(){
|
|
|
/**
|
|
|
+ * 设置name来改变option的选择
|
|
|
* 形参 1:level(级别)或者节点
|
|
|
* 形参 2:名称 --数组
|
|
|
*/
|
|
@@ -349,10 +354,11 @@
|
|
|
});
|
|
|
},
|
|
|
backData:function (level) {
|
|
|
- /*绑定回调函数的值*/
|
|
|
+ //绑定过单个select的回调函数,该select的option值选中,会被调用,并返回填充该select值的集合
|
|
|
this.options.ulcLevel[level].callback(this.options.data[level]);
|
|
|
},
|
|
|
allBackData:function () {
|
|
|
+ //绑定全局select的回调函数,只要有select的option值被选中,就会被调用,并返回所有填充该select值的集合,并且一直被存储
|
|
|
var ulc = this;
|
|
|
for (var i=0;i<ulc.options.ulcLevel.length;i++){
|
|
|
var node = ulc.options.ulcLevel[i];
|
|
@@ -368,14 +374,15 @@
|
|
|
this.options.allCallback(ulc.options.data);
|
|
|
},
|
|
|
setUlcCallback:function (fun,level) {
|
|
|
- //回调函数设置
|
|
|
+ //设置单个回调函数
|
|
|
this.options.ulcLevel[level].callback = fun;
|
|
|
},
|
|
|
setUlcAllCallback:function (fun) {
|
|
|
+ //设置全局select值选中的回调函数
|
|
|
this.options.allCallback = fun;
|
|
|
},
|
|
|
setUlcReturnList:function (level,returnList) {
|
|
|
- //在无URL情况下,可以直接传入list集合,集合结构与其他节点一样
|
|
|
+ //在无URL情况下,可以直接传入list集合,集合结构与其他节点集合一样
|
|
|
this.options.ulcLevel[level].ulcReturnList = returnList;
|
|
|
ulc.reloadLevel(level);
|
|
|
},
|
|
@@ -385,6 +392,7 @@
|
|
|
ulc.initUlcHtml(level,this.options.ulcLevel[level].ulcId);
|
|
|
},
|
|
|
getIsNameCorrect:function (level) {
|
|
|
+ //调用此方法,可返回setUlcByName()和setUlcById()的设置值是否正确,
|
|
|
var ulc = this;
|
|
|
if(ulc.ulcIsEmpty(level)){
|
|
|
return ulc.options.ulcLevel[level].isGetNameCorrect;
|
|
@@ -430,19 +438,22 @@
|
|
|
obj.isFristSelect = $ulc.attr("ulcIsFristSelect")==1?true:false; //是否有“请选择项” false:无
|
|
|
obj.fristSelectMsg = $ulc.attr("ulcFristSelectMsg");
|
|
|
obj.repData = function(res){ //res 即为原始返回的数据
|
|
|
- return {
|
|
|
- "isFlag": 200, //code判断
|
|
|
- "code": res[$selectUlc.attr("code")], //解析接口状态
|
|
|
- "msg": res[$selectUlc.attr("msg")], //解析提示文本
|
|
|
- "data": res[$selectUlc.attr("data")][$ulc.attr("ulcList")] //解析数据列表
|
|
|
- };
|
|
|
+ var result = new Object();
|
|
|
+ result.isFlag = 200; //code判断
|
|
|
+ result.code = res[$selectUlc.attr("code")]; //解析接口状态
|
|
|
+ result.msg = res[$selectUlc.attr("msg")]; //解析提示文本
|
|
|
+ result.data = res[$selectUlc.attr("data")];
|
|
|
+ if(ulc.ulcIsEmpty(result.data)){
|
|
|
+ result.data = res[$selectUlc.attr("data")][$ulc.attr("ulcList")] //解析数据列表
|
|
|
+ }
|
|
|
+ return result;
|
|
|
};
|
|
|
obj.parseData = function(data){ //res 即为原始返回的数据
|
|
|
- return {
|
|
|
- "id": data[$ulc.attr("ulcValId")], //id
|
|
|
- "val": data[$ulc.attr("ulcValName")], //text
|
|
|
- "msg": data[$ulc.attr("ulcMsg")] //其他
|
|
|
- };
|
|
|
+ var dataResult = new Object();
|
|
|
+ dataResult.id = data[$ulc.attr("ulcValId")]; //id
|
|
|
+ dataResult.val = data[$ulc.attr("ulcValName")]; //text
|
|
|
+ dataResult.msg = data[$ulc.attr("ulcMsg")]; //其他
|
|
|
+ return dataResult;
|
|
|
};
|
|
|
ulcLevel.push(obj);
|
|
|
});
|
|
@@ -479,6 +490,7 @@ function init_ulc(node){
|
|
|
* version : 2.1优化以名称的判断方式
|
|
|
* version : 2.1增加设置值判断标志位,增加getIsNameCorrect()函数,可以查询加载完成之后,值是否设置成功;
|
|
|
* version : 2.2优化设置值的方式
|
|
|
+ * version : 2.5更改加载方式,加入集合加载,加入设置集合的方法,优化查询出来空集合报错的情况
|
|
|
|
|
|
* -------初始化-------
|
|
|
* 有两种初始化,可自行选择,推荐使用b
|
|
@@ -592,5 +604,9 @@ function init_ulc(node){
|
|
|
|
|
|
*getIsNameCorrect()(); 调用此方法,可返回setUlcByName()和setUlcById()的设置值是否正确;
|
|
|
* return boolean true为正确,false 有误
|
|
|
+ *
|
|
|
+ * setUlcReturnList(level,returnList) 设置使用集合去加载select的option
|
|
|
+ *
|
|
|
+ * reloadLevel(level) 重置level本节点的选中
|
|
|
* -------方法END-------
|
|
|
*/
|