如何将搜索建议添加到ajax成功

时间:2017-11-07 04:14:18

标签: jquery json ajax search-suggestion

我需要在文本框中添加搜索建议。我尝试了很多方法。但我找不到正确的方法。我使用ajax从后端获取数据(arraylist)。然后将其作为json返回给jsp。现在我需要根据ajax成功添加搜索建议功能。 ajax成功的dataType是json。

$("#tagText").bind("keyup", function (event){
     event.preventDefault();
     var tagSuggest = $("#tagText").val();
     var url= "../operation/SuggestSupport!searchSuggest.action?documentTag.tagText="+tagSuggest+"&page=0&activePage=0";
      $.ajax({
         type: "POST",
         url: url,
         dataType:"json",
         success: function(data){

         //search suggestions code

      },
      error: function (data){
      alert("Error");
      }
      });
});

这是我的文本框

<div class="input-group">
     <s:textfield name="document.tagText" id="tagText" cssClass="form-control" maxlength="100" autocomplete="off" style="width: 237px; border-radius: 4px;"/> 
</div>

1 个答案:

答案 0 :(得分:0)

您应该将div放到HTML示例中: -

<div class="input-group">
 <s:textfield name="document.tagText" id="tagText" cssClass="form-control" maxlength="100" autocomplete="off" style="width: 237px; border-radius: 4px;"/> 
</div>
<div class="suggestion-wrap">
   <ul>
      <li></li>
      <li></li>
   </ul>
</div>

你的ajax应该是这样的: -

$("#tagText").bind("keyup", function (event){
  event.preventDefault();
  var tagSuggest = $("#tagText").val();
  var url= "../operation/SuggestSupport!searchSuggest.action?documentTag.tagText="+tagSuggest+"&page=0&activePage=0";
  $.ajax({
     type: "POST",
     url: url,
     dataType:"json",
     success: function(data){
        var searchData = JSON.parse(data); 
        //search suggestions code
        $('.suggestion-wrap ul').empty();
        for (var i=0; i<searchData.length; i++) {
            $('.suggestion-wrap ul').append('<li>'+searchData[i]["name"]+'</li>');
        }
     },
     error: function (data){
       alert("Error");
     }
  });
});