当前位置: 首页 > 面试题库 >

Thymeleaf中地图的从属下拉列表

楚雪松
2023-03-14
问题内容

我想创建一个包含国家/地区的下拉列表,并创建一个包含城市的第二个下拉列表,这取决于第一个列表中的选定值。并且城市列表应动态更改。在视图(Thymeleaf)中,我有一个Map<CountryModel, Set<RegionModel>>from控制器。CountryModel的名称应该显示在第二个下拉列表中,而Set应该显示在第二个(相关的)下拉列表中。
在这里,我创建第一个下拉列表:

 <tr>
   <td th:text="#{country}"/>
   <td>
      <div class="form-group">
          <select th:field="*{transferRequestModel.country}" class="form-control" id="country">
                <option th:each="country : ${transferModel.countries}"
                    th:value="${country}"
                    th:text="${country.key.countryName}">Wireframe
                </option>
          </select>
      </div>
    </td>
 </tr>

那么如何创建第二个下拉列表,该列表取决于第一个列表中的所选国家/地区?


问题答案:

因此,我已经解决了AJAX请求和jQuery追加问题。

  1. 更改Map<CountryModel, Set<RegionModel>>Map<String, Set<String>>

  2. AJAX请求

        function sendAjaxRequest() {
        var country = $("#country").val();
        $.get( "/regions?country=" + country, function( data ) {
            $("#region").empty();
            data.forEach(function(item, i) {
                var option = "<option value = " + item + ">" + item +  "</option>";
                $("#region").append(option);
            });
        });
    };
  1. 使用sendAjaxRequest()时,我改变第一个下拉列表中。
        $(document).ready(function() {
        $("#country").change(function() {
            sendAjaxRequest();
        });
    });
  1. Thymeleaf模板上的下拉列表

第一个下拉列表

    <td th:text="#{country}"/>
    <td>
        <div class="form-group">
            <select th:field="*{model.country}" class="form-control" id="country">
                <option th:each="country : ${model.countries}"
                        th:value="${country}"
                        th:text="${country}">Wireframe
                </option>
            </select>
        </div>
    </td>

第二个下拉列表

    <td>
        <div class="form-group">
            <select th:field="*{requestModel.region}" class="form-control" id="region">
            </select>
        </div>
    </td>
  1. 控制者
        @RequestMapping(value = "/regions")
    @ResponseBody
    public Set getRegions(@RequestParam String country) {
        Map<String, Set<String>> regions = regionsService.getRegions();
        return regions.get(country);
    }


 类似资料:
  • 我有一个下拉列表,客户端必须选择一个值,然后它将在mysql db中持久化好的,我这样做了,但我希望当客户端选择一个值时,我得到该值,然后我执行if语句示例: 如果选择的值为:CIN,则为compte。setcomptenumber(25364138);就像那样 这是我的控制器: 我的html:

  • 如果c.value=activeSheet.range(“A2:A10000”)。value然后“selected GrantNumber”,则在以下位置出现类型不匹配错误: 任何帮助都很感激。谢谢

  • 我的问题是无法得到下拉列表选择的值,错误是: 字段“admin”上对象“agence”中的字段错误:拒绝值[1];代码[TypeMismatch.agence.admin,TypeMismatch.admin,TypeMismatch.com.example.demo.Entities.AdminStrateur,TypeMismatch];;默认消息[无法将“java.lang.String”类

  • 我是硒的新手,我试图从下拉列表中选择一个选项。下拉列表的超文本标记语言如下: WebElement的是: 我已经尝试了几乎所有的方法,我可以在互联网上找到,但没有任何效果。我试图使用类,包装了,但它抛出了一个异常。 我试图丢失列表中的所有选项,但在这种情况下得到了异常应该有标签,但它有。我需要使用作为findelements的标识符。 请帮我解决这个问题。

  • 我已经用来自我的spring控制器(provincia)的内容填充了一个列表,并且我有另一个对象(profile2),我需要从(provincia)获取选定的值...以及我的表单国家/地区中的其他值,等等。 在我的HTML中,我有: 但是我找不到任何关于如何提取与列表中的值相对应的选定键和值(th:select)并将其放回控制器(或者将其移入具有provincia有线对象的de profile2对

  • 问题内容: 我有一张地图清单。 列表中的值例如是 最后,我想要一个Map>,就像 如何在Java中实现这一目标。 代码: 现在,基于与我想要的相同ID,此genericList是该列表的输入并来自此列表 基本上,要根据ID将响应归类为String,将具有相同ID的响应分组在列表中,然后创建一个以ID为键并以列表为值的新映射。 问题答案: 您可以使用Java 8进行以下操作: 这将打印: 整数:1