如何限制下拉列表中的值?

时间:2019-06-17 11:29:17

标签: java spring jsp select drop-down-menu

我的JSP页面中有一个下拉列表,其中显示每小时的时段供用户预订以进行某些操作。例如:上午11点-下午12点,下午12点-下午1点,等等。现在我要检查数据库中的预订时段而且我不希望下一个用户看到已经预订的空位。

我有一个带有多个选项的选择标签。从00:00-01:00到23:00-24:00。 我不想显示已经预订的值。

这是我的下拉代码:

str_file = 'e:\\dir1\\dir2\\dir3\\myscript.py'

现在我有一个已经预订的空位列表。现在我如何显示除这些以外的所有其他值。

1 个答案:

答案 0 :(得分:0)

在纯JSP解决方案中,每次加载页面时都会重新创建选项列表。

这是一个可能的解决方案:

<%@ page import="java.util.Map" %>

<!--
Here I use a class org.myProject.QuerySlots
This class has a method getSlots() to return open slots, as an HashMap, where keys are the values of the option set.

-->
<jsp:useBean id="querySlotsBean" class="org.myProject.QuerySlots" scope="request"/>


<div class="parsley-row" id="display_slot1" style="display:none">
    <select id="slot1" name="slots1" data-md-selectize-delayed>
        <option value="">Slots</option>
        <%
            for (Map.Entry<String,String> entry : querySlotsBean.getSlots().entrySet()){
        %>
        <option value="<%=entry.getKey()%>"><%=entry.getValue()%></option>
        <%
            }
        %>
    </select>
</div>

还有豆子:

package org.myProject;

import java.util.HashMap;

public class QuerySlots {

    public HashMap<String,String> getSlots(){
        // Do a query... Here is an hardcoded value !
        HashMap<String,String> result = new HashMap<>();
        result.put("23:00,24:00","23.00-24.00");
        return result;
    }
}

如果您不想更新现有的选择标签,那么它是一种具有DOM操作的Ajax解决方案