【问题标题】:Fill struts2 select tag with javascript array用javascript数组填充struts2 select标签
【发布时间】:2016-03-04 19:12:23
【问题描述】:

是否可以在加载时使用 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 选择标记中的理想方式应该是什么?

【问题讨论】:

  • 为什么是javascript,为什么是struts标签?

标签: javascript jquery html jsp struts2


【解决方案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'}" />

【讨论】:

    【解决方案2】:

    Struts select标签渲染普通htmlselect。它还向生成的 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);
        });
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-03-14
      • 1970-01-01
      • 1970-01-01
      • 2021-11-26
      • 1970-01-01
      • 2011-03-04
      • 1970-01-01
      相关资源
      最近更新 更多