Java 如何根据以前的下拉值筛选后选择html下拉值

Java 如何根据以前的下拉值筛选后选择html下拉值,java,mysql,html,drop-down-menu,Java,Mysql,Html,Drop Down Menu,我有两个html下拉列表。两个下拉列表都是mysql数据,第一个下拉列表是“主机组”,具有“windows、linux”等值,第二个下拉列表是“主机”,具有“办公室、家庭、边区、本地主机”等值 基本上我想这样做,当我选择“linux”是主机组组合框时,它将过滤“主机”下拉框并在“主机”下拉框中仅显示本地主机,当我在主机组下拉框中选择“windows”时,它将过滤它并从主机下拉框中删除本地主机 我用html填充下拉列表的代码是 html.append("<select id='hosts'

我有两个html下拉列表。两个下拉列表都是mysql数据,第一个下拉列表是“主机组”,具有“windows、linux”等值,第二个下拉列表是“主机”,具有“办公室、家庭、边区、本地主机”等值

基本上我想这样做,当我选择“linux”是主机组组合框时,它将过滤“主机”下拉框并在“主机”下拉框中仅显示本地主机,当我在主机组下拉框中选择“windows”时,它将过滤它并从主机下拉框中删除本地主机

我用html填充下拉列表的代码是

 html.append("<select id='hosts' name='hosts' style='width: 180px' onchange=\"document.forms['form1'].submit();\">>");
        //if(rs != null)
        //{
       while(rshostgroup.next())
           {
                  html.append("<option value='"+rshostgroup.getString(2)+"'>"+rshostgroup.getString(1)+"</option>");
                //html.append("<option value='web'>web</option>");
            }
        //}

        html.append("<select>");
        html.append("</td>");
        html.append("</tr>"); 

         html.append("<tr>");
        html.append("<td>"); 
        html.append("Host");        
        html.append("</td>");  
        html.append("<td>"); 
        html.append("<select id='hosts' name='hosts' style='width: 180px' onchange=\"document.forms['form1'].submit();\">>");
        //if(rs != null)
        //{
       while(rshost.next())
           {
                  html.append("<option value='"+rshost.getString(2)+"'>"+rshost.getString(1)+"</option>");
                //html.append("<option value='web'>web</option>");
            }
        //}

        html.append("<select>");
html.append(“>”);
//如果(rs!=null)
//{
while(rshostgroup.next())
{
append(“+rshostgroup.getString(1)+”);
//html.append(“web”);
}
//}
html.append(“”);
html.append(“”);
html.append(“”);
html.append(“”);
html.append(“”);
html.append(“主机”);
html.append(“”);
html.append(“”);
html.append(“>”);
//如果(rs!=null)
//{
while(rshost.next())
{
append(“+rshost.getString(1)+”);
//html.append(“web”);
}
//}
html.append(“”);
请不要混淆什么是html.append,什么是选项值comming from


实际上,我正在使用字符串生成器在
.java(class)
文件中追加字符串生成器html,并在jsp中调用类html追加方法。它工作正常,下拉菜单的选项值是从
resultsetrs和rshost
填充来自mysql的数据

首先使用java构建HTML元素是一个非常糟糕的想法。 使用JSTL循环遍历下拉选项,而不是使用Java输出HTML代码。 其次,您提到的问题与Java无关,而与JavaScript有关

当然,这并不完全正确,因为您可能需要向服务器发出AJAX请求以获取值来填充辅助下拉框

您需要做的是为主下拉列表附加一个onChange监听器,这样当它更改javascript代码时,您的javascript代码要么向服务器发出AJAX调用以获取辅助下拉框的值,要么使用一些javascript变量中保存的硬编码值

您必须在次下拉列表中循环以删除所有以前的值并向其添加新的下拉选项,或者您也可以完全删除次下拉框,并根据主下拉框的选择使用新值重新创建它。 互联网上的文章已经足够多了,所以请使用你的好友谷歌(Google)来找到最适合你需要的文章