如何使用自动完成spring mvc

时间:2017-05-24 11:56:17

标签: java jquery ajax spring-mvc jstl

我正在使用JSTL和Jquery将数据导入自动完成,数据列表将从Spring mvc中的List获取

我的行动:

List<Map> mapList = googleMapLocationService.getAllGoogleMapLocations();
model.put("mapList", mapList);

的jquery / JSP:

<script>
  $( function() {
  var availableTags =
      <c:forEach items="${mapList}" var="map">
      [         
          "<c:out value="${map.address}"/>"         
      ];
      </c:forEach>
  $( "#tags" ).autocomplete({
    source: availableTags
  });
 } );

  <div style="width:320px ;margin-left: -38px; margin-top: -24px">
    <input id="tags" path="tags" />
  </div>

更新:(尝试将'地址'替换为'id')

<script>
$( function() {
var availableTags = []
    <c:forEach items="${mapList}" var="map">
        availableTags.push("<c:out value="'${map.id}', "/>");
    </c:forEach>
 $( "#tags" ).autocomplete({
   source: availableTags
 });
} );

结果:

enter image description here

当我输入'关键字'时,它似乎无法列在自动填充

我该如何解决这个问题?非常感谢!

1 个答案:

答案 0 :(得分:0)

此代码生成javascript数组结构。试试这个。

 <script>
  $( function() {
  var availableTags =
      <c:forEach items="${mapList}" var="map" varStatus="totalCount">
      [         
          <c:out value="'${map.address}'">
          </c:out>
          <c:if test="${totalCount.count lt fn:length(mapList)}">
          <c:out value=",">
          </c:out>
          </c:if>      
      ];
      </c:forEach>
  $( "#tags" ).autocomplete({
    source: availableTags
  });
 } );