js如何清空原来的select里面的值,重新赋值呢

发布于 2020-06-25 22:19:24

js如何清空原来的select里面的值,重新赋值呢?
需求这样的:
有2个下拉框,第一个是主下拉框,第二个是从下拉框,页面初次都是加载的全部数据,当选择第一个下拉框的数据时,通过js,自动根据1的条件刷新第二个下拉框的值。
声明:不是城市那种通过接口级联数据,这是通过js关联查询更新数据(城市那种不适合,我本来是想一个能联动2个下拉框同时更新,但咱框架,不支持,所以第一组就是传统的接口联动,第二组就是通过这个js联动更新数据)

查看更多

关注者
0
被浏览
298
2 个回答
刘亮
刘亮 2020-06-26
专业编码30年

你可以参考源码 https://github.com/dotnetcore/WTM/blob/develop/src/WalkingTec.Mvvm.Mvc/framework_layui.js

里面的LinkedChange函数,这是框架combobox联动使用的js方法

yhg637
yhg637 2020-06-26

LinkedChange: function (url, target, targetname) {

    $.get(url, {}, function (data, status) {
        if (status === "success") {
            var i = 0;
            var item = null;
            var form = layui.form;
            var controltype = "";
            var ele = $('#' + target);
            if (ele.length > 0) {
                if (ele[0].localName === "select") {
                    controltype = "combo";
                }
                if (ele.attr("div-for") === "checkbox") {
                    controltype = "checkbox";
                }
                if (ele.attr("div-for") === "radio") {
                    controltype = "radio";
                }
            }
            else {
                if ($('#div' + target).length > 0) {
                    controltype = "tree";
                }
            }

            if (controltype === "tree") {
                layui.tree.reload('tree' + target, {
                    data: ff.getTreeItems(data.Data)
                });
            }

            if (controltype === "combo") {
                $('#' + target).html('<option value = ""  selected>' + ff.DONOTUSE_Text_PleaseSelect + '</option>');
                if (data.Data !== undefined && data.Data !== null) {
                    for (i = 0; i < data.Data.length; i++) {
                        item = data.Data[i];
                        var icon = item.ICon !== undefined && item.ICon != null && item.ICon.length > 0 ? ' icon="' + item.ICon + '"' : '';
                        if (item.Selected === true) {
                            $('#' + target).append('<option value = "' + item.Value + '"' + icon + ' selected>' + item.Text + '</option>');
                        }
                        else {
                            $('#' + target).append('<option value = "' + item.Value + '" ' + icon + '>' + item.Text + '</option>');
                        }
                    }
                }
                var linkto = $('#' + target).attr("linkto");
                while (linkto !== undefined) {
                    var t = $('#' + linkto);
                    t.html('<option value = ""  selected>' + ff.DONOTUSE_Text_PleaseSelect + '</option>');
                    linkto = t.attr("linkto");
                }
                form.render('select');
            }
            if (controltype === "checkbox") {
                $('#' + target).html('');
                for (i = 0; i < data.Data.length; i++) {
                    item = data.Data[i];
                    if (item.Selected === true) {
                        $('#' + target).append("<input type='checkbox'  name = '" + targetname + "' value = '" + item.Value + "' title = '" + item.Text + "' checked />");
                    }
                    else {
                        $('#' + target).append("<input type='checkbox' name = '" + targetname + "' value = '" + item.Value + "' title = '" + item.Text + "'  />");
                    }
                }
                form.render('checkbox');
            }
            if (controltype === "radio") {
                $('#' + target).html('');
                for (i = 0; i < data.Data.length; i++) {
                    item = data.Data[i];
                    if (item.Selected === true) {
                        $('#' + target).append("<input type='radio'  name = '" + targetname + "' value = '" + item.Value + "' title = '" + item.Text + "' checked />");
                    }
                    else {
                        $('#' + target).append("<input type='radio' name = '" + targetname + "' value = '" + item.Value + "' title = '" + item.Text + "'  />");
                    }
                }
                form.render('radio');
            }

        }
        else {
            layer.alert(ff.DONOTUSE_Text_FailedLoadData);
        }
    });

},

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览