【问题标题】:How to insert an array of String into Selectpicker in HTML如何在 HTML 中将字符串数组插入 Selectpicker
【发布时间】:2020-09-22 10:55:31
【问题描述】:

我试图将下面显示的字符串数组引入到 Selectpicker 中,因此 selectpicker 的选项将是数组的元素。

<script>
        String str[] = (String[]) request.getAttribute("intervenciones"); 
        for (var i=0;i<str.length;i++){
            option += '<option value="'+ str[i] + '">' + str[i] + '</option>';
        }
        $('#procedimiento').append(option);
</script>
<div class="row top-buffer">
    <div class="col-sm-4">
    <label for="procedimiento">Procedimiento</label>                                
    <select name="procedimiento" id="procedimiento" class="form-control selectpicker" data-show-subtext="true" data-live-search="true" data-size="3" style="width: 100px;">
    </select>

</div>

【问题讨论】:

  • 您能否详细说明您的问题,而不是您真正想要的?
  • 我认为解决方案类似于我编写的代码,但我在 selectpicker 选项卡中看不到数组的元素,它只是显示为空
  • 你在混合jspjs,它们都不一样,只需使用jstl在选项中打印你的结果
  • 我没用过,我应该在选项里面放什么?

标签: java html arrays jsp bootstrap-selectpicker


【解决方案1】:

您可以使用 jstl forEach 循环在选择框内打印值。即:

<%@ taglib prefix = "c" uri = "http://java.sun.com/jsp/jstl/core" %>
 <select name="procedimiento" id="procedimiento" class="form-control selectpicker" data-show-subtext="true" data-live-search="true" data-size="3" style="width: 100px;">
    <c:forEach var="inter" items="${intervenciones}" > //<-pass your value here which set in requst attribute
             <option value="${inter}">${inter}</option>//<-printing options
     </c:forEach>
 </select>

【讨论】:

    【解决方案2】:

    好吧,我不知道data-show-subtex 是什么,但我认为它适用于一些 jquery 插件。

    如果那是您正在运行的代码,它将无法工作,因为在 Javascript 中您不会像那样声明变量。

    你应该把你的代码改成这样:

    // change this for request.getAttribute(...)
    var options = ['option1', 'option2', 'option3'];
    var option = '';
    for (var i=0;i<options.length;i++){
        option += '<option value="'+ options[i] + '">' + options[i] + '</option>';
      }
    $('#procedimiento').append(option);
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <div class="row top-buffer">
        <div class="col-sm-4">
        <label for="procedimiento">Procedimiento</label>                                
        <select name="procedimiento" id="procedimiento" class="form-control selectpicker" data-show-subtext="true" data-live-search="true" data-size="3" style="width: 100px;">
        </select>
    
    </div>

    【讨论】:

      猜你喜欢
      • 2020-07-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-11
      • 1970-01-01
      • 2019-01-20
      相关资源
      最近更新 更多