在这种情况下如何预选一个选项?

时间:2012-03-26 11:07:17

标签: javascript html jsp

您好我想知道如何预选选项。我想我可以用javascript做到这一点,因为我设法得到国家代码,但没有得到适当设置的下拉列表:

enter image description here

在这种情况下,我还想将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>

你能建议我如何设置选项吗?

谢谢

1 个答案:

答案 0 :(得分:1)

如果英格兰的价值“GB” ...您应该更改以下代码段以选择“GB”而不是“SE” (这是Sverige的价值吗?):

<% if (land.getLandKod().equalsIgnoreCase("SE")) { 
  out.println("SELECTED"); 
} %>

除非,我误解了你的数据......那么它将会是这样的。

<% if (land.getLandKod().equalsIgnoreCase("GB")) { 
  out.println("SELECTED"); 
} %>