2014-02-08 2 views
0

Я заселять Struts2 выберите выпадающее меню со списком, как показано нижеЗаселите несколько скрытых полей OnChange из выпадающего списка

<s:select name="code" id="code" headerKey="-1" headerValue="Select" list="slist" listValue="code" listKey="id"     onchange="changeLocation(this.selectedIndex)" /> 

SLIST содержит идентификатор, код, страна. Когда значение (т.е. код) выбирается из выпадающего списка, мне нужно заполнить как идентификатор и страны, как скрытые поля .Я успешно заселить идентификатор OnChange кода происходит, как показано ниже

onchange="document.getElementById('locationValue').value=this.options[this.selectedIndex].text;" 

Но когда я пытаюсь выяснить способ, как это сделать в javascript-функции, поэтому я могу установить как id, так и страну как скрытые поля при изменении кода. Пожалуйста, наставит меня, как добиться этого

+0

У вас есть еще код, который вы можете нам предоставить? Где случайный код «onchange» во второй строке на самом деле в вашем коде? – VIDesignz

ответ

0

Предположим, что ваши соответствующие скрытые поля следующим образом:

1) <s:hidden name="code" id="code-hidden"/>

2) <s:hidden name="country" id="country-hidden"/>

3) <s:hidden name="id" id="id-hidden"/>

и в вашем список, соответствующие элементы имеют идентификаторы = "code, country, id" (это ключи в выпадающем списке). Затем вы можете использовать следующие функции:

function dropdownChange(dropdown) { 
    for (var i=0; i<dropdown.options.length; i++){ 

     if (i != dropdown.selectedIndex) { 
      var optionTmp = dropdown.options[i]; 
      document.getElementById(optionTmp.value + "-hidden").value = optionTmp.text; 

      //or if you want to save the list value not text 
      //document.getElementById(optionTmp.value + "-hidden").value = optionTmp.value; 
     } 
    } 
} 

и использовать его в вашем выберите:

<s:select ... onchange="dropdownChange(this)" /> 
+0

Камиль, у меня есть 3 поля, такие как id, code и country в списке, поэтому я могу назначить id для проверки опцииTmp и значения для параметра optionTmp, но как мне назначить страну скрытой переменной – user3212372

0

Попробуйте использовать этот код

<s:select name="code" id="code" headerKey="-1" headerValue="Select" list="slist" listValue="code" listKey="id" onchange="setHiddenValue()" /> 

function setHiddenValue(){ 
    var codeValue= $("#code option:selected").text(); 
    var codeKey= $("#code").val(); 
    $("#locationValue").val(codevalue); 
} 
+0

Priyanka, Когда я использую код jquery в моем скрипт, он дает мне ошибку setHiddenValue не определен – user3212372

+0

Определить всю функцию setHiddenValue() перед тем, как выбрать тег.функция должна быть