jquery ui オートコンプリート リストの最後の要素として html ボタンを挿入しようとしています。このボタンは、オートコンプリート リストに新しい要素を追加するオプションを含むポップアップ ウィンドウを開くことになっています。これは、オートコンプリート リスト内にボタンを挿入するコードです。
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 ボタンを挿入する最良の方法を知っている人はいますか?
前もって感謝します