您可以使用ajax调用来实现这一点。
在组织选择中,您可以调用onChange方法,该方法将调用您的javascript,您可以从javascript中执行ajax调用(传递组织id),检索子组织,并在第二个下拉列表中设置这些值
我有州和市的代码。您可以根据需要将其更改为组织和子组织。
在JSP中:
<select id="state" class="form-control inpt_sty">
<option value="One">One</option>
<option value="Two">Two</option>
<option value="Three">Three</option>
</select>
<select id="city" class="form-control inpt_sty"><option value="">Select City</option></select>
Javascript:
$("#state").change(function() {
state_id = $(this).val();
$.ajax({
url : "<portlet:resourceURL id='CityCall'/>",
type : 'POST',
dataType : 'json',
data : { state_id : state_id},
success : function(data) {
console.log(JSON.stringify(data));
for(var i in data)
{
$("#city").append("<option value=" + data[i].city_id + ">" + data[i].city_name + "</option>");
}
},
error : function() {
console.log("There was an error. Try again please!");
}
});
});
在portlet类中:
public class BranchLocator extends MVCPortlet {
@Override
public void serveResource(ResourceRequest resourceRequest, ResourceResponse resourceResponse)throws IOException, PortletException
{
if ("CityCall".equalsIgnoreCase(resourceRequest.getResourceID()))
{
String state_id = resourceRequest.getParameter("state_id");
//logic to retrieve data
}
}
}