小编Sit*_*alk的帖子

插入html按钮作为jquery ui自动完成列表的最后一个元素

我一直在尝试插入一个html按钮作为jquery ui自动完成列表的最后一个元素.该按钮应该打开一个弹出窗口,可以选择将新元素添加到自动完成列表中.这是在自动完成列表中插入按钮的代码:

data.push({label: '<input type="button" name="btn_name_field" id="btn_name_field" title="Create" class="button firstChild" value="Add new">'});
response(data);
Run Code Online (Sandbox Code Playgroud)

这是打开弹出窗口的功能:

$(document).on("click", "#btn_name_field", function () {
    open_popup("Street_Address", 400, 180, "", true, false,  {"call_back_function":"set_return","form_name":"EditView"}, "single", true );
});
Run Code Online (Sandbox Code Playgroud)

为了能够将html作为"标签"插入,我不得不使用这个函数:

$[ "ui" ][ "autocomplete" ].prototype["_renderItem"] = function( ul, item) {
return $( "<li></li>" ) 
  .data( "item.autocomplete", item )
  .append( $( "<a></a>" ).html( item.label ) )
  .appendTo( ul );
};
Run Code Online (Sandbox Code Playgroud)

会发生什么:按钮显示正常并按预期执行(打开弹出窗口)但是在打开弹出窗口后,html输入中的所有代码都会插入到文本框中.这是逻辑行为,因为代码是作为标签插入的,但是有人知道将html按钮作为自动完成的最后一个元素插入的最佳方法是什么?

提前致谢

jquery jquery-ui autocomplete jquery-ui-autocomplete

6
推荐指数
1
解决办法
4071
查看次数