2016-12-02 43 views
0

我正在使用自動完成功能顯示自動建議,結果正在顯示。如何在運行時動態更改自動完成的HTML代碼?

代碼:

$("#suggest").autocomplete({ 
delay: 20, 
source: function(request, response) { 
    //alert(request.term); 
    var suggestURL = myAutosuggesturl; 
    suggestURL = suggestURL.replace('%QUERY', request.term); 

    // JSONP Request 
    $.ajax({ 
     method: 'GET', 
     dataType: "json", 
     async: true, 
     url: suggestURL 
    }) 
    .success(function(data){ 
     //alert(data.results); 
     for (var i = 0; i < data.results.length; ++i){ 
     var htmltag=data.results[i]['value']; 
     var firsthtag=htmltag.replace("<b>",""); 
     var secondhtag=firsthtag.replace("</b>",""); 
     console.log(data.results[i]['value']); 
     //alert(secondhtag); 
     //var a_href = $('a').attr('href',''); 
     data.results[i]['value']=secondhtag; 

     } 
     console.log(data.results); 
     response(data.results); 
    }); 
} 

但事情就是HTML是動態生成的,我的需求是動態追加一個HREF的foreach錨標記。

我該如何做到這一點?

 <ul class="ui-autocomplete ui-front ui-menu ui-widget ui-widget-content ui-corner-all" id="ui-id-1" tabindex="0" style="display: none; top: 93px; left: 206px; width: 325px;"> 
<li class="ui-menu-item" role="presentation"> 
    <a id="ui-id-34" class="ui-corner-all" tabindex="-1">Game (By Neil Strauss)</a> 
</li> 
<li class="ui-menu-item" role="presentation"> 
    <a id="ui-id-35" class="ui-corner-all" tabindex="-1">Gone (By Michael Grant)</a> 
</li> 
    </ul> 

回答

0

這個工作了

select:function(event,ui){ location.href="my URL part/"+ui.item.id+"other url part/"+ui.item.name; }

1

您可以使用onfocus並在每個onfocus事件上附加autosuggest html。

謝謝。