struts中的级联下拉

时间:2011-12-12 12:01:49

标签: struts

我必须使用struts设计一个网页。 我必须显示两个下拉菜单。 第一个下拉列表中的数据将从数据库中动态填充。这部分完成了。 我必须根据第一个下拉列表中的选择在第二个下拉列表中填充数据。

因为我是struts技术的新手,所以我需要这方面的帮助。

谢谢, 萨钦

1 个答案:

答案 0 :(得分:0)

You can use ajax to load data to the dropdown2 by invoking it in the onchange method for dropdown1

DropDown1:
----------

    <s:select key="label.name" list="list1" onchange="reloadView();" name="id" id="list">
    </s:select>

reloadView()
------------

try {
        // Opera 8.0+, Firefox, Safari
        ajaxRequest = new XMLHttpRequest();
    } 
    catch (e) 
    {
        // Internet Explorer Browsers
        try {
                ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
        }
                    catch (e) 
                {
                try {
                ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
            } 
                catch (e) 
                {
                                alert("Your browser has no AJAX Support!");
                    return false;
                }
        }
        }
    var url = "yourUrl";
    ajaxRequest.open("POST", url, true);
    ajaxRequest.onreadystatechange = function() 
    {
        try 
        {
                if (ajaxRequest.readyState == 4 && ajaxRequest.status == 200) {
                        var res = ajaxRequest.responseText;
                        if (res) 
                        {
                                document.getElementById("yourDiv").innerHTML = res;
                                adjustTable();
                        }
                }
        } 
        catch (e) 
        {

        }
    }
    ajaxRequest.send(null);

DropDown2
---------

    <div id="yourDiv">
    <s:select>
    </div>