2016-03-04 2 views
1

Возможно ли заполнить тег Struts 2 с помощью массива javascript при загрузке?Fill struts2 select tag с массивом javascript

У меня есть код

<s:select id="attrStpSel" name="attrStpSel" headerKey="-1" 
      headerValue="Select" list="${attributeActions}" 
      labelposition="left" onchange="displaySelectAction()" 
      cssStyle="width: 300px;" /> 

Это скрипт на странице.

<script type="text/javascript"> 
    $(document).ready(function() { 
     var attributeActions = [ 'Add', 'Update', 'Search' ]; 
    }); 
</script> 

Поскольку это жестко закодированные значения, я не хочу, чтобы они были заселены от действия. с приведенным выше кодом переменная javascript attributeActions не подбирается.

Каким должен быть идеальный способ заполнения статического списка в теге Struts 2?

+0

Почему JavaScript, и почему распорок тегов? –

ответ

1

Вы можете создать список инлайн с #{}:

<s:select name = "attrStpSel" 
    headerKey = "-1" 
    headerValue = "Select" 
      list = "#{'Add','Update','Search'}" /> 

Вы также можете создать встроенную карту с теми же обозначениями:

<s:select name = "attrStpSel" 
    headerKey = "-1" 
    headerValue = "Select" 
      list = "#{'0':'Add' , '1':'Update' , '2':'Search'}" /> 
0

Struts выбрать тег делает обычный HTML select. Он также добавляет дополнительные теги, атрибуты, CSS в сгенерированный html, потому что это тег пользовательского интерфейса. Вы можете узнать больше о теге s:select.

Извлечь входной тег HTML типа select.

Если вы хотите, чтобы заполнить этот тег выберите С помощью JavaScript вы можете сделать что-то вроде этого

$(function() { 
    var attributeActions = [ 'Add', 'Update', 'Search' ]; 
    var $select = $('#attrStpSel'); 
    $select.find('option').remove(); 
    $('<option>').val("-1").text("Select").appendTo($select); 
    $.each(attributeActions, function(index, value) { 
     $('<option>').val(value).text(value).appendTo($select); 
    }); 
}); 
Смежные вопросы