您好我想知道如何预选选项。我想我可以用javascript做到这一点,因为我设法得到国家代码,但没有得到适当设置的下拉列表:
在这种情况下,我还想将dropdodown填充到具有值GB的“England”。我该怎么做?我的JSP是:
<input type="text" class="inp_sel" size="2"
name="<%=PandoraFieldConstants.FIELD_LANDKOD%>"
id="<%=PandoraFieldConstants.FIELD_LANDKOD%>"
value="<%if (ansokanInfo.getUppfinnareList().contains(editPerson)|| ansokanInfo.getSokandeList().contains(editPerson)){ out.write(editPerson.getLandKod());}%>"
onkeyup="setListbox(event, this, '<%=PandoraFieldConstants.FIELD_LAND%>')";
onmousedown="setListboxEmpty(this)";>
<SELECT name="<%=PandoraFieldConstants.FIELD_LAND%>"
id="<%=PandoraFieldConstants.FIELD_LAND%>"
class="inp_sel" onChange="setSearchbox(this, '<%=PandoraFieldConstants.FIELD_LANDKOD%>')">
<% for(LandKod land: pc.getLander()) { %>
<OPTION value="<%=land.getLandKod()%>"
<% if (land.getLandKod().equalsIgnoreCase("SE")) {
out.println("SELECTED");
} %>
我的javascript是
function setListbox(e, obj, id) {
// sokLandkod input
// sokLand select
if(e.keyCode == 13 || e.keyCode == 8) { return; }
if (obj.value.length < 2) { return; }
var landList = document.getElementById(id);
var searchKod = obj.value;
var len = searchKod.length;
obj.value = "";
for (var i = 0; i < landList.options.length; i++) {
sListValue = landList.options[i].value;
var matchIx = sListValue.toUpperCase().indexOf(searchKod.toUpperCase());
if (matchIx == 0) {
landList.selectedIndex = i;
obj.value = landList.options[i].value;
break;
}
}
}
function setSearchbox(obj, id) {
var iny = 'sokLandkod'
var searchKod = obj.value;
document.getElementById(id).value = searchKod;
}
><%=land.getLandNamn() %>
</OPTION>
<% } %>
</SELECT>
你能建议我如何设置选项吗?
谢谢
答案 0 :(得分:1)
如果英格兰的价值“GB” ...您应该更改以下代码段以选择“GB”而不是“SE” (这是Sverige的价值吗?):
<% if (land.getLandKod().equalsIgnoreCase("SE")) {
out.println("SELECTED");
} %>
除非,我误解了你的数据......那么它将会是这样的。
<% if (land.getLandKod().equalsIgnoreCase("GB")) {
out.println("SELECTED");
} %>