Java 根据第一个下拉列表的选择,第二个下拉列表应包含相关内容
根据第一个下拉列表项的选择,我希望第二个下拉列表应包含相关内容。我如何在java中做到这一点? 例如, 比如说,第一个下拉列表包含国家名称,第二个下拉列表包含国家名称。如果我从第一个下拉列表中选择一个特定的国家,比如印度,那么第二个列表应该只显示该国的相关州,即印度州。Java 根据第一个下拉列表的选择,第二个下拉列表应包含相关内容,java,struts2,Java,Struts2,根据第一个下拉列表项的选择,我希望第二个下拉列表应包含相关内容。我如何在java中做到这一点? 例如, 比如说,第一个下拉列表包含国家名称,第二个下拉列表包含国家名称。如果我从第一个下拉列表中选择一个特定的国家,比如印度,那么第二个列表应该只显示该国的相关州,即印度州。 这两个列表都是动态的。这比Java和struts 2更像是Javascript 有两个选项可以获得一个映射,第一个下拉列表的值作为键,另一个下拉列表的值与该项相关 然后,当选择第一个组合框的值时,您可以从javascript映射
这两个列表都是动态的。这比Java和struts 2更像是Javascript 有两个选项可以获得一个映射,第一个下拉列表的值作为键,另一个下拉列表的值与该项相关 然后,当选择第一个组合框的值时,您可以从javascript映射中获取值,并将其设置为第二个下拉列表
另一个选项是在第一个下拉列表的选择中发送ajax请求,并从结果中选择第二个下拉列表。我建议使用javascript: 或者使用ajax,通过执行struts操作来返回选项,然后重新加载选定内容,例如使用jquery: $stateSelect.load'http://host/myStateAction.do?country=“+国家 或者在页面加载上加载整个国家/州映射,并使用纯javascript更新第二个列表,而无需服务器调用。为此,您可以在每个国家/地区选项中存储一个数据状态属性,其中包含相应的状态 国名
否则,如果希望避免使用javascript,可以在触发更改事件时提交表单,在服务器端struts操作中,根据第一个列表的值填充第二个列表,并重定向到表单页面 您必须像下面这样使用JavaScript:这比从java端处理要好: 以下是您的示例HTML文件:
<select id="country" name="country" aria-required="true" class="required">
<option value="">Select Your Country</option>
<option value="USA">India</option>
<option value="CA">Pakisthan</option>
</select>
<p><label for="state">Select Your State<span title="required">*</span>
</label></p>
<select id="state" name="state" aria-required="true" class="required">
<option value="" selected="">Select Your State</option>
<optgroup label="India">
<option value="WB">West Bengal</option>
<option value="BH">Bihar</option>
</optgroup>
<optgroup label="Pakisthan">
<option value="LH">Lahore</option>
<option value="IB">Islamabad</option>
</optgroup>
</select>
您也可以使用AJAX,它对您来说可能有点复杂,所以最好使用简单的JavaScript。
您可以尝试这种方法,如果有任何问题,请告诉我。您是在谈论swing组件还是HTML组件?Struts2中有标记。@Sudhanshu,我必须在JSP页面上显示它。@Anand Shankar,我如何用java脚本从数据库中获取县值和州值?
var stateVar = $('#state option, #state optgroup');
stateVar.hide();
$('#country').change(function () {
stateVar.hide();
$("#state optgroup[label='" + $(this).find(':selected').html() + "']")
.children()
.andSelf()
.show();
});