2014-01-21 108 views
0

需要讓我的自動建議值填充在我的「完成」父母的「完成」標籤中,我的警報工作正常,並返回數據,但我不能加載它在我的自動建議結果。 ...任何幫助將不勝感激。格式jquery ui自動完成xml

這是我的XML sctucture:

 <Completions> 
<Term>maz</Term> 
<Completion profile="test">mazda</Completion> 
<Completion profile="test">mazdak</Completion> 
<Completion profile="test">maza</Completion> 
<Completion profile="test">maz</Completion> 
<Completion profile="test">mzx</Completion> 
</Completions> 

<script> 
    $(function() { 
    // add autocomplete 
    $("#query.queryAutocomplete").autocomplete({ 
     source: function(request, response) { 
      var myArr = []; 
      $.ajax({ 
      type: "GET", 
      url: "searchlogic.asp", 
      //complete: setupAC, 
      contentType: "application/xml; charset=utf-8", 
      dataType: 'xml', 
       data: {    
        pr: $("input[name='pr']").val(), 
        term: request.term    

       },   
       //success: function(data) { 
        // alert(data); 
        //}, 

        success: function(responseXML) { 
      alert($(responseXML).text()); 
     }, 




    error: function(e) { 
     alert(e.message); 
    } 
      }); 
     }, 
     minLength: 1, 
     open: function (e, ui) { 
      var term = $("#query").val(); 

      var acData = $(this).data("uiAutocomplete"); 
      acData.menu.element.find("a").each(function() { 
       var a = $(this); 
       var completion = a.text().substring(term.length); 
       a.html("<span class='ui-autocomplete-term'>" + term + "</span>" + "<span class='ui-autocomplete-completion'>" + completion + "</span>"); 
      }); 
     }, 
     select: function(event, ui) { 
      $("#query").val(ui.item.value) 
       .closest("form").submit(); 
     }, 

    }); 
}); 

<input class="queryAutocomplete" id="query" type="textbox" name="query" value=""/> 
<input type="hidden" name="pr" value="test"> 
<input type="submit" class="searchbutton" value="Search"> 

回答

0

也許你需要你的XML轉換爲HTML和每個元素轉換爲表格

<Completion profile="test">whatever</Completion> 

後將它們追加到使用jQuery的完成追加

示例(我使用的UL和李,而不是OP完成,使事情vissible):

fiddle

在你的情況,這將導致類似

var newItems = '<Completion profile="test">[new var 1]</Copmletion><Completion profile="test">[new var 2]</Copmletion>'; 
$("Completions").append(newItems); 

標識推薦使用和Id在您的「完成」標籤上,以避免與其他套件發生干擾。

+0

我想我需要做什麼來找到XML標籤,然後解析它,它不只是轉換 – mmz

+0

你讀過這篇文章嗎? http://stackoverflow.com/questions/6328481/jquery-auto-complete-from-xml – Steven

+0

數據顯示在一個div現在當我追加它,但仍然不在自動com成功:function(responseXML){ \t \t \t \t //($(responseXML).find('Completion')。text()); \t \t \t \t \t \t \t \t $(responseXML的).find( 「達成」)。每個(函數(){ $( 「主」)。追加( '

  • ' + $(本)。 ');('+'
'); //$(". \t \t \t \t \t }, – mmz