下拉框的显示问题!!!!
发布于 2年前 作者 384324085 739 次浏览

下拉框是ul li的方式,不过li下面还有一个ul,li所以我在mongo中设计的两张表,它们通过id和fatherid相关联。 自己照着书写了一个数据库的get方法,在尝试显示外层的ul时,ok显示正常。后来尝试开始写个字的下拉框里的内容,之前显示外层ul的时候,我们是传了一个空给get方法查询所有结果,然后遍历它,这里我的想法是这样的,在遍历的for循环中,我可以得到每个外层ul的id,然后去匹配内层ul的fatherid,想法不错,这相当于是在for循环中,不停执行get方法,后来系统报错了。 不知道我说没说明白,如果谁有做过多级的下拉框的显示时,分享一下你们的心得,谢谢了

4 回复

这种问题不上代码就是耍流氓嘛

其实问题就是for循环里不停地去请求查询mongo数据库,我的想法是这样的,但是系统报db object already connecting ,open cannot be called multiple times,看来不能多次请求,我的做法是错的

现在功能实现,但方法不好,通过mongo数据库的两次全查询,将两次的结果集返回到页面上,在页面上通过两次for,根据主外键关系匹配,完成要求的显示。(唉,真心不给力)。发问了,mongo数据库不支持循环查询么,或者说如果想循环查询mongo,该如何实现?

可以 for 循环 不过注意是否出现闭包问题就好了,我这里给一段我写得代码给你参考

    for(i = 0; i<articles_id.length; i++){
        (function(i){
            where = {_id: articles_id[i]}
            get_article_by_query_once(where, function(err, article, author, edit, tags, replies){
                if(err) return cb(err);
                article.author = author;
                article.edit = edit;
                article.create_at = Util.format_date(article.create_time);
                article.update_time = Util.format_date(article.update_at);
                article.tags = tags;
                article.reply = replies;
                if(article.last_reply_at){
                    article.last_reply_time = Util.format_date(article.last_reply_at);
                }
                articles[i] = article;
                proxy.trigger('articles.ready');
            });
        })(i);
    }
回到顶部