You can use Ajax. I have implemented it for Struts 2. See my code below:
<script language="javascript" type="text/javascript"> function getXMLHTTP() { var xmlhttp=false; try{ xmlhttp=new XMLHttpRequest(); } catch(e) { try{ xmlhttp= new ActiveXObject("Microsoft.XMLHTTP"); } catch(e){ try{ xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch(e1){ xmlhttp=false; } } } return xmlhttp; } function loadRegions(childRegion, parentRegion) { var regionId=parentRegion.value; var strURL="user/noDeco_loadRegions.action?regionId="+regionId; var req = getXMLHTTP(); if (req) { req.onreadystatechange = function() { if (req.readyState == 4) { // only if "OK" if (req.status == 200) { var resultList =req.responseText; //alert(resultList); resultList = resultList.split(','); var intCounter = 0; var option = new Option('Select',''); document.userForm.elements[childRegion].options[intCounter] = option; intCounter++; for(i=0; i<resultList.length; i=i+2) { var option = new Option(resultList[i+1],resultList[i]); document.userForm.elements[childRegion].options[intCounter] = option; intCounter++; } //alert("ThereXMLHTTP:\n" + req.responseText); } else { alert("There was a problem while using XMLHTTP:\n" + req.statusText); } } } req.open("GET", strURL, true); req.send(null); } } function loadProvinces(parentRegion) { document.userForm.provinceId.options.length = 0; var option = new Option('Select',''); document.userForm.provinceId.options[0] = option; //alert("value is " +parentRegion.value); if (parentRegion.value != '') { //alert("value not null " +parentRegion.value); loadRegions('provinceId',parentRegion); } } </script> <s:select name="countryId" key="user.label.country" required="true" headerKey="" headerValue="Select" onchange="loadProvinces(this)" list="countryList" listKey="regionId" listValue="description" > <s:param name="labelcolspan" value="%{1}" /> <s:param name="inputcolspan" value="%{1}" /> </s:select> <s:select name="provinceId" key="user.label.province" required="true" headerKey="" headerValue="Select" list="provinceList" listKey="regionId" listValue="description" > <s:param name="labelcolspan" value="%{1}" /> <s:param name="inputcolspan" value="%{1}" /> </s:select> You have to map the action in struts.xml file. And code in my action class is: @SkipValidation public void loadRegions() { try { String regions =""; regionList = commonService.loadRegionListByParentRegion(regionId); StringBuffer regionStr = new StringBuffer(); if(regionList != null && regionList.size()>0) { Iterator iter = regionList.iterator(); while(iter.hasNext()) { Map optionMap = (Map)iter.next(); regionStr.append((String)optionMap.get(TxnServerI.REGION_ID)).append(",") .append((String)optionMap.get(TxnServerI.REGION_DESCRIPTION)).append(","); } regions = regionStr.toString().substring(0, (regionStr.length()-1)); } _response.setContentType("text/xml"); PrintWriter writer = _response.getWriter(); writer.write(regions); } catch (Exception e) { e.printStackTrace(); } } Rajiv Nisha Akash wrote: > > Hello everyone, > > There is a problem in my struts 1.x code is that > > Suppose I have 2 combobox say country,city & initially country contains > some countyname from database .Now i want that when we select any item > or any country from country combobox then other city combobox contains > data from database according to each country > -- View this message in context: http://www.nabble.com/struts-tp20162279p20181408.html Sent from the Struts - User mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]