我需要在jsp中预填充用户的国家/地区名称。
到目前为止,我有这个:
{{ crumb.state }}
问题是我有大约180个国家,我认为在我的代码中有这么多“if else”语句并不好。
通常我会使用下拉列表选择这样的国家:
<input type="text" name="foreigncountry" id="foreigncountry" class="nice input-text" size="20" maxlength="20"
<%
String country = userInfo.getAddressInfo().getCountry();
if (country.equalsIgnoreCase("CA")) {
out.print("value='Canada'");
else if((country.equalsIgnoreCase("KZ"))){
out.print("value='Kazakhstan'");
} %>
>
但我不知道如何绑定它们以使其有效。
底线我更倾向于使用国家名称下拉列表,并从我从scriptlet获得的值预填充国家/地区。
非常感谢任何建议。
答案 0 :(得分:0)
好的,最后我解决了。不确定它是否是最好的解决方案,如果你知道更好的方式,请告诉我。
Step1:将输入类型设为隐藏,并从jsp
获取值<input type="hidden" name="foreigncountry" id="foreigncountry" class="nice input-text" size="20" maxlength="20"
<%
String country = userInfo.getAddressInfo().getCountry();
if (country != null && country.trim().length()>0 && !("US").equalsIgnoreCase(country)) {
out.print("value='" + country.trim() + "'");
} else {
out.print("value=''");
}
%>
第2步:使用jQuery预填充国家/地区
<select id="countries" name="countries">
<option value="AF">Afghanistan</option>
<option value="AL">Albania</option>
...
</select>
和
<script>
var val = document.getElementById("foreigncountry").value;
$('#countries').val(val);
</script>