簡體   English   中英

用javascript數組填充struts2選擇標簽

[英]Fill struts2 select tag with javascript array

是否可以在加載時用 javascript 數組填充 Struts 2 選擇標簽?

我有一個代碼

<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 選擇標簽中的理想方式應該是什么?

您可以使用#{}創建內聯列表:

<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'}" />

Struts select 標簽呈現普通的 html select 它還向生成的 html 添加了額外的標簽、屬性、CSS,因為它是 UI 標簽。 您可以閱讀有關select標簽的更多信息。

呈現一個選擇類型的 HTML 輸入標簽。

如果你想用 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);
    });
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM