如何动态更改列表(选择)数据

时间:2014-01-08 09:22:24

标签: java javascript dynamic drop-down-menu

我正在添加产品详情。 因此,我必须添加产品属性,产品功能。

我从mysql表加载属性的所有数据。

我正在使用一种机制,第一个用户必须从列表中选择属性类别(选择控件),当用户选择类别然后根据其他列表(选择控件)的数据更改。

主要类别图片:

category main

子属性类别:

sub category

我在JavaScript数组中添加了这样的数据:

var at_category_id = [];
var at_category_name = [];

<%
    List<Integer> aIDList = (List<Integer>) request.getAttribute("aID");
    List<String>  aNAMEList = (List<String>) request.getAttribute("aNAME"); 

    for (int i = 0; i < aIDList.size(); i++) 
    {
     %>
        at_category_id.push(<%= aIDList.get(i) %>);
        at_category_name.push(<%= aNAMEList.get(i) %>);
    <%
    }
%>

var option_str = document.getElementById('list_main_category');

    for (var i=0; i<at_category_id.length; i++) 
    {
        option_str.options[option_str.length] = new Option(at_category_id[i],at_category_name[i]);
    }

我为此做了类似的属性并将数据添加到JavaScript数组。

var at_id = [];
var at_name = [];

<%
    List<Integer> acIDList = (List<Integer>) request.getAttribute("acID");
    List<String>  acNAMEList = (List<String>) request.getAttribute("acNAME");   

    for (int i = 0; i < aIDList.size(); i++) 
    {
     %>
        at_id.push(<%= acIDList.get(i) %>);
        at_name.push(<%= acNAMEList.get(i) %>);
    <%
    }
%>

但现在如何前进我不知道。

我想做那样的事。

enter image description here

当用户点击作为主要类别的第一个列表时,意味着第二个列表将如何更改?

请提出任何建议。

1 个答案:

答案 0 :(得分:0)

通常的方法是对第一个组合框的值进行javascript操作。

此时,您可以(简单方式)提交整个表单,然后发回新页面,添加额外的值或(稍微复杂一点)执行AJAX调用以获取数据并填充新的下拉列表。< / p>