2012-03-26 130 views
0

嗨,我想知道如何预选选项。我想我可以用JavaScript做它,因为我设法得到COUNTRYCODE而不是下拉得到适当设置:如何在这种情况下预先选择一个选项?

enter image description here

在这种情况下,我想也是dropdodown得到填充为“英格兰”其中有值GB。我该怎么做?我的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

如果英格兰的价值是“GB” ...你应该更改下面的代码片段选择“GB”,而不是“SE”(那是SVERIGE的价值? ):

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

除非,我误解了你的数据......它会看起来像这样。

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

我可以修复它做类似的事情。谢谢你的答案。 – 2012-03-27 13:55:05

相关问题