2012-03-21 4 views
0

У меня 2 соответствующие поля формы, код страны и страны (здесь поле «Земля» является suppossed быть код страны.) enter image description hereКак установить значение элемента формы на основе выбранного значения?

Теперь я хочу, значение кода страны для заполнения при выборе стране и наоборот, эта страна выбирается при вводе кода страны. Значение из опции для страны - код страны.

Я пробовал что-то вроде следующего, которое правильно заполняет код страны на основе выбранного поля, но я не сейчас, как сделать это наоборот, как установить выбранный элемент в опции для кода страны, который был введен.

<div class="fl20">Land:</div> 
     <div class="fl40"><input type="text" size="2" id="landkod1" "value="<%if (ansokanInfo.getUppfinnareList().contains(editPerson) || ansokanInfo.getSokandeList().contains(editPerson) ){out.write(editPerson.getLandKod());} %>" name="<%= PandoraFieldConstants.FIELD_LANDKOD %>">&nbsp; 


     <select name="<%= PandoraFieldConstants.FIELD_LAND %>" onchange=document.getElementById('landkod1').value=this.value> 
<% 
for(Land land: pc.getLander()) { 
%> 
<option value="<%=land.getLandKod()%>"><%=land.getLandNamn()%></option> 
<% 
} 
%> 

     </select> 

Можете ли вы сказать, как это должно быть сделано?

Спасибо

ответ

1

Поскольку вы добавили это как Javascript и HTML, я предполагаю, что вы хотите, решение, основанное на нем. Я также предполагаю, что вы можете использовать jquery, потому что, честно говоря, для меня это намного проще.

$('#landkod1').change(function(){ 
    //assuming your land combo has an id - "landSelect" 
    var selectElement = $('#landSelect'), 
     me = $(this), val = me.val().trim(); 
    selectElement.find('option').each(function(i, item){ 
     var self = $(item), selfVal = self.val(); 
     if(selfVal === val){ 
      selectElement.val(selfVal); 
      return false;//break out of the each loop 
     } 
    }); 
}); 

Check the example fiddle here

Смежные вопросы