2016-12-02 61 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。

谢谢。