首页 > 解决方案 > 两个选择列表之间的 Javascript 分配不起作用

问题描述

我有一个 MVC 项目,其中有两个selectlists:一个显示给用户,一个隐藏,其中包含显示的视图数据。

我的触发另一个 onchange 的 Javascript 函数selectlist如下:

function select()
    {
        document.getElementById("SelectedServer").innerHTML = document.getElementById("ServerSelect").value;
        var services = document.getElementById("ServiceSelect");
        services.options = serviceoptions.options;
        console.log(services.options === serviceoptions.options)
        var servers = document.getElementById("ServerSelect").selectedOptions;
        for (i = 0; i < services.length; i++)
        {
            for (j = 0; j < servers.length; j++)
            {
                    if (services.options[i].value == servers.item(j).value) { }
                    else (services.options[i] = null)
            }
        }
    }

此函数使用选定的服务器更新文本字段,为我的服务分配selectlist来自名为“serviceoptions”的隐藏数据的选项selectlist,然后对其进行排序,以便仅当服务与选定的服务器匹配时才显示服务(使用value)。

出于某种原因,当我进行选项分配 ( services.options = serviceoptions.options;) 时,它运行时没有错误,但显然没有正确分配选项。

我测试的控制台输出返回false,chrome调试器显示长度没有更新。

我想将选项变量分配给serviceoptions选项变量services。为什么我不能这样做?

我试图用隐藏字段解决的问题是,以前,如果它们不匹配,我的服务会正确消失,但如果用户选择了另一台服务器,我无法将它们恢复。

我无法使用 ajax 进行另一个 API 调用以再次检索服务器/服务。

标签: javascripthtmlasp.net-mvc

解决方案


推荐阅读