我一直在尝试插入一个 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);
这是打开弹出窗口的函数:
$(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 );
});
为了能够将 html 作为“标签”插入其中,我不得不使用这个函数:
$[ "ui" ][ "autocomplete" ].prototype["_renderItem"] = function( ul, item) {
return $( "<li></li>" )
.data( "item.autocomplete", item )
.append( $( "<a></a>" ).html( item.label ) )
.appendTo( ul );
};
发生的情况是:该按钮看起来很好并且执行了它应该做的事情(打开一个弹出窗口)但是在打开弹出窗口之后,来自 html 输入的所有代码都被插入到文本框中。这是合乎逻辑的行为,因为代码是作为标签插入的,但是有人知道插入 html 按钮作为自动完成的最后一个元素的最佳方法是什么吗?
提前致谢