评论:jQuery下拉框多选插件verSelector.js  [查看原文]

所属分类:输入-选择框

 36870  310  16
当前第1页 / 共1页
    蜗牛羞答答0
    2020/12/24 16:48:54
    怎么监听插件里的点击事件? 回复
    jqueryInGa0
    2020/9/14 16:03:06
    现在支持更新原本列表的内容吗,列表值发生变化似乎不行
    回复
    你丢猪了吗0
    2020/6/16 15:53:18
    我使用 ajax 动态赋值 内容 为什么 全部是undefined
        it天空1
        2020/6/19 21:51:32
        暂时不支持动态赋值的,如果通过ajax动态获取的话可以再获取到值以后进行实例select
    回复
    。。0
    2020/6/2 9:54:54
    问下就一个new verSelector();按你的的方法是会报错verSelector is not defined
        it天空0
        2020/6/19 21:49:48
        没有看到你的代码,无法定位问题的,可能是js的作用域
    回复
    please one more chance3
    2019/12/27 14:01:16

    插件的ui挺好的
    回答下几个问题(ps:我做后端的,对原生js不是很精通,写的不好谅解):
    1.怎么初始化默认值:
    看了下代码,貌似没这个功能,所以需要改插件
    把verseect文件的第33行左右的defa_text赋值和defa_value赋值语句改成:

    var defa_value = it.value;
    var thoptions = it.querySelectorAll("option[value]");
    var defa_text = it.querySelector("option").innerText;
    [].forEach.call(thoptions, function(option) {
        if (option.getAttribute("value") == defa_value) {
            defa_text = option.innerText;
        }
    });

    2.解决搜索框删除所有搜索内容后下拉框消失的问题:

    items.classList.toggle("verSelector-focus-show");
    if (!items.classList.contains("verSelector-focus-show")) return false;
    替换成
    if (!items.classList.contains("verSelector-focus-show")) {
        items.classList.add("verSelector-focus-show");
    }

    3.如何获取选中的值

    $('.verSelector-input-list>input[name=这里写原来select的name值]').val();
        ?彡0
        2023/5/9 11:06:06
        牛啊牛啊
    回复
    Only。0
    2019/12/18 17:24:39
    默认选中的怎么赋值呀 回复
    invengo0
    2019/12/18 16:44:02
    移动端无法使用怎么办 回复
    cuibowen0
    2019/12/4 13:59:30
    这里没有看到如何初始化,各个节点的回调函数 回复
    莫慌0
    2019/12/3 16:10:48
    如何获取选中的值 回复
    Carry_U~0
    2019/10/9 19:01:31
    不能支持多个选项内容不同的多选框,如果有多个多选框的话,加载的选项内容都是一样的,想问下怎么解决。
        Carry_U~1
        2019/10/10 11:28:50
        var option = function() {
            document.onclick = function(e) {
                var target = e.target;
                //判断是否是下拉选框点击事件
                if (target.classList.contains("verSelector-one")) {
                    var op = e.target.parentElement.parentElement.previousElementSibling.childNodes; //-->真正获取option的列表
                    if (target.classList.contains("verSelector-text") || target.classList.contains("verSelector-caret")) {
                        target = target.parentElement;
                    }
                    var parent = target.parentElement;
                    _s(parent);
                    show_options(target, op); //-->多传一个参数给显示的方法
                } else if (target.classList.contains("verSelector-two")) {
                    return true;
                } else {
                    _s();
                }
                e.stopPropagation();
            }
        };

        var show_options = function (tar, op) {}在这个方法里面循环op就可以了 不用他的option

        [].forEach.call(op, function (i) {}
        var keyup_search = function () {}里同样修改 增加 op并传参
        op = ops.previousElementSibling.childNodes;
        show_options(this.parentElement.parentElement,op);
    回复
    演不尽⌒ 轻描淡写0
    2019/5/29 17:17:11
    想问一下,这个插件如何在初始化的时候给它赋默认值
        please one more chance1
        2019/12/12 9:07:25

        将插件文件(verSelect.js)的第33行改为

        var defa_text = it.querySelector("option[selected]")?it.querySelector("option[selected]").innerText:it.querySelector("option").innerText,
    回复

讨论这个项目(16)回答他人问题或分享插件使用方法奖励jQ币 评论用户自律公约

取消回复