解决方案,代码如下:
- /**doclib函数库
- *下拉框树形显示
- */
- function createLayeredCategory(opts, id, level) {
- var sql = "SELECT a.id,a.item_class_id,a.item_class_name,a.domainid,COUNT(*) cnt FROM tlk_商品分类 a left join tlk_商品分类 b ";
- sql +="on a.item_class_id=b.item_class_level where a.item_class_level='" + id + "' GROUP BY a.id,a.item_class_id,a.item_class_name,a.domainid ORDER BY cnt";
- var datas = queryBySQL(sql);
- var rec = null;
- var str = "|";
- var id = "";
- for (var it = datas.iterator(); it.hasNext();) {
- rec = it.next();
- str = "";
- if (level > 1 && level < 3) str = str + "&" + "n" + "b" + "s" + "p" + ";" + "&" + "n" + "b" + "s" + "p" + ";" + "&" + "n" + "b" + "s" + "p" + ";" + "&" + "n" + "b" + "s" + "p" + ";" + "|--";
- else if (level > 2) {
- str = "";
- for (var count = 0; count < level - 1; count++) {
- str = str + "&" + "n" + "b" + "s" + "p" + ";" + "&" + "n" + "b" + "s" + "p" + ";" + "&" + "n" + "b" + "s" + "p" + ";" + "&" + "n" + "b" + "s" + "p" + ";" + "|";
- }
- str += "--";
- } else str = "|--";
- str += rec.getItemValueAsString("class_name");
- id = rec.getItemValueAsString("class_id");
- opts.add(str, id);
- createLayeredCategory(opts, id, level + 1);
- }
- };
- #include "doclib";
- (function() {
- var opts = $TOOLS.createOptions();
- var dql = "$formname='商品分类' and class_level is null or class_level=''";
- var docs = queryByDQL(dql);
- opts.add("无", "");
- for (var iter = docs.iterator(); iter.hasNext();) {
- var doc = iter.next();
- var id = doc.getItemValueAsString("class_id");
- var name = doc.getItemValueAsString("class_name");
- opts.add(name, id);
- createGoodsCategory(opts,id,1);
- }
- return opts;
- })();
复制代码 |