下拉单选框为空默认查询全部数据,但用的人不一定知道,能把下面的不选默认为全部或有其他解决方式吗..

下拉单选框 为空默认查询全部数据,但现在用的人并不知道,能赋值或有其他解决方式吗...求教各位大神~

image.png

FineReport yzmHRxrN7037642 发布于 2023-2-2 16:13
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
snrtuemcLv8专家互助
发布于2023-2-2 16:14

选择下拉框,"不选"放第一位,添加一个初始化事件,写一下js语句。

var self = this;  

self.options.name4Empty = "不选"  ;//默认为不选 可以自定义修改

$('input',this.element).click(function(){  

    if(self.$view.css('display')=='none'){  

        self.onTriggerClick();  

    }  

}); 

//全部选择放在第一位

this.addData2View = function(c){

var e = this.editComp.val();

            var b = -1;

            if (this.$view) {

                this.emptyContent = $("<div/>");

                //默认的空添加到第一个位置

            this.initContent(this.emptyContent, this.options.name4Empty, 0);

                this.$view.append(this.emptyContent);

                 var l = document.createDocumentFragment();

                 var g = this.options.data.getLength();

               

                for (var d = g - c.length; d < g; d++) {

                    var k = d + c.length - g;

                    var h = $("<div/>");

                    l.appendChild(h[0]);

                    var f = c[k].getShowValue();

                    this.initContent(h, f, d+1);

                    if (b < 0 && f == e) {

                        b = k

                    }

                }

                this.$view[0].appendChild(l);

               

                FR.HtmlLoader.loadingMoreData({

                    el: this.$view

                });

                this._setSelectedIndex(b);

                this.fixWidth()

 }

}

this.initContent= function(b, e, d) {

            if (e == null) {

                e = ""

            }

            var c = this;

            b.height(this.options.sonHeight).attr("title", e).text(e).addClass(d > -1 ? "fr-combo-list-item" : "fr-combo-list-item fr-combo-list-item-noselect").hover(function(f) {

                c.setFocusWithIndex(d);

                setTimeout(function(h) {

                    if (!h) {

                        return

                    }

                    var g = a(h.target);

                    if (c.$view[0].style.display != "none" && g.isChildAndSelfOf(a(this).parent().children())) {

                        a(this).removeClass("fr-combo-selected")

                    }

                }, 10)

            }).click(function(f) {

                c.inList = true;

                c.fireEvent(FR.Events.CLICK);

                c._setSelectedIndex(d);//修改事件为选中当前的index

                c._onEnterPressed()

            })

        }

        this._selectWithoutTriggerEvent= function() {

            if (this.selectedIndex!=0) {

            //如果不是第一个显示值

                this.setText(this._getSelectedItem().text());

                this.inList = true

            } else {

            //否者显示空

                this.clearText();

                this.searchText = "";

                this.options.need2BuildList = true

            }

            this.checkValid();

            this.collapse()

        }

  • yzmHRxrN7037642 yzmHRxrN7037642(提问者) 大神 再麻烦问您下,添加完初始化事件后,可以把全部放第一行了,但选的时候 控件还是空的 给他们一种选不到的感觉,刚给控件写了个判断 为空赋值成全部 效果也不好,这个 选完全部后 控件里面也展示 有办法吗~
    2023-02-02 16:34 
  • snrtuemc snrtuemc 回复 yzmHRxrN7037642(提问者) 那就需要把这个不选隐藏,然后自己数据集加一个全选,然后数据集sql判断,为全选的时候,查询全部
    2023-02-02 16:36 
  • yzmHRxrN7037642 yzmHRxrN7037642(提问者) 回复 snrtuemc 好的好的 感谢~
    2023-02-02 16:38 
最佳回答
0
LTC朝Lv6高级互助
发布于2023-2-2 16:14
最佳回答
0
Z4u3z1Lv6专家互助
发布于2023-2-2 16:14

image.png

最佳回答
0
就TM你叫夏洛啊Lv6中级互助
发布于2023-2-2 16:15

image.png那就给一个默认值呗

  • 3关注人数
  • 407浏览人数
  • 最后回答于:2023-2-2 16:15
    请选择关闭问题的原因
    确定 取消
    返回顶部