Jquery 淘汰版v3,带有选定的多选标记

Jquery 淘汰版v3,带有选定的多选标记,jquery,knockout.js,twitter-bootstrap-3,jquery-chosen,Jquery,Knockout.js,Twitter Bootstrap 3,Jquery Chosen,我已经开始扩展所选库,创建一个动态标记功能,使用敲除观测值来保存所选值,但是我遇到了几个问题。希望有人能提供一些帮助 观察到的问题: 输入两个以上的标记将删除第一个输入后添加的所有项目,并将其替换为最后输入的标记。从标记列表中选择选项效果很好,但是输入新标记会强制执行与前面提到的相同的行为 自定义KO绑定: ko.bindingHandlers.chosenTagging = { init: function (element, valueAccessor, allBindings) {

我已经开始扩展所选库,创建一个动态标记功能,使用敲除观测值来保存所选值,但是我遇到了几个问题。希望有人能提供一些帮助

观察到的问题:
输入两个以上的标记将删除第一个输入后添加的所有项目,并将其替换为最后输入的标记。从标记列表中选择选项效果很好,但是输入新标记会强制执行与前面提到的相同的行为

自定义KO绑定:

ko.bindingHandlers.chosenTagging = {
    init: function (element, valueAccessor, allBindings) {
        $(element).chosen({ width: '100%', disable_no_results: true, enable_custom_content: true, placeholder_text_multiple: 'Enter Tag(s)' });

        var valuesObservable = allBindings.get('selectedOptions');
        var updateList = function () {
            $(element).trigger('chosen:updated');
        }

        if (valuesObservable && typeof (valuesObservable.subscribe) == 'function') {
            valuesObservable.subscribe(updateList);
        }
    },
    update: function (element, valueAccessor, allBindings) {
        $(element).trigger('chosen:updated');
    }
};
JSFiddle:

注意:如果您在fiddle中为所选JS添加了任何内容,请说明进行更改的行号

类似的帖子可以在这里找到:

你有一个:

$(element).trigger('chosen:updated');

$(element).trigger('liszt:updated');
我想最后一个是从Selected中删除的,它是上一个版本的语法。 (虽然这可能不是你问题的答案)

另一个问题是当 绑定中的可观察项发生更改,但没有(
chosentaging:{}

至于您真正的问题,我认为如果没有
选项
绑定,那么
选择选项
绑定就无法正常工作。
使用
选项
绑定,它可以正常工作:


如果您想保留使用
启用自定义内容模式输入自定义输入的可能性
必须找到一个解决方法。

我相信select:在新事件触发器中为select behavior更新,而liszt:更新为旧方法。我已经更新了上面的代码以使用最近的事件。我也注意到在提交第一个条目时更新没有触发。关于如何首先实现这一点,您有什么想法吗?似乎enable_custom_content_模式存在问题。如果添加
选项
绑定。我需要进一步调查我认为如果没有
选项
绑定,您就无法真正使用,如果您真的需要这种模式,我们需要一种解决方法。我以前在那里有选项,但是,它没有提供太多区别。。现在,我将更新JSFIDLE以合并它。