<div style="display: inline-block" data-bind="autocomplete : { multi:true, values:values}">
</div>
オートコンプリート bindingHandler があります。複数選択の場合は、コードを追加したいと思います。以下のコードは動作しますが、bindingHandler に追加してもらいたいです。
<div class='auto'>
<!-- ko foreach : values -->
<span data-bind="text: $data"></span>
<!-- /ko -->
<span>
<div style="display: inline-block" data-bind="autocomplete : { multi:true, values: values}">
</div>
</span>
</div>
autocomplete bindingHandler の Init でこのようなことをしようとしました。しかし、バインディングが正しく追加されていないと思います。bininghandler の init でこのような仮想バインディングを追加することは可能ですか?
$element.wrap("<div class='auto'>");
$element.wrap("<span>");
$element.parent().before("<!-- ko foreach : values --><span data-bind='text: $data'></span><!-- /ko -->");
仮想バインディングなしでこのようにすると、機能します。
$element.wrap("<div class='auto'>");
$element.wrap("<span>");
$element.parent().before("<div><span data-bind='text: $data'></span></div>");
var $div = $element.parent().prev();
ko.applyBindingsToNode($div[0], function () {
return {
foreach: value.values
};
});
しかし、デザインが正しくないため、divで囲むことはできません。仮想バインディングを追加することは可能ですか?