我必須使用struts設計一個網頁。 我必須顯示兩個下拉菜單。 第一個下拉列表中的數據將從數據庫動態填充。這部分已完成。 我必須根據第一個下拉列表中的選擇填充第二個下拉列表中的數據。在struts中級聯下拉
因爲我是struts技術的新手,所以我需要這方面的幫助。
感謝, 薩欽
我必須使用struts設計一個網頁。 我必須顯示兩個下拉菜單。 第一個下拉列表中的數據將從數據庫動態填充。這部分已完成。 我必須根據第一個下拉列表中的選擇填充第二個下拉列表中的數據。在struts中級聯下拉
因爲我是struts技術的新手,所以我需要這方面的幫助。
感謝, 薩欽
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>
感謝您的回覆。 是的,我可以使用Ajax。但是,如果我將使用第二個HTML下拉菜單,我如何才能獲得Action Class中的值。我需要兩個在我的Action類中的兩個下拉對象。 –
這是你應該做的,action1.action會爲dropdown1加載數據,並將頁面重定向到一個jsp。在下拉列表1中,您將調用另一個操作類或相同的操作類(但調用另一種方法或使用將此調用與調用區分開的參數來標識調用,以加載dropdown1的數據),這將爲dropdown2加載數據。 – Pradeep
嗨Pradeep, 但是,你能告訴我如何在下拉式的onchange事件中調用一個動作? –
它可以幫助張貼到目前爲止您已經編寫了這一步的代碼。 – Verbeia