从 link 中的数据绑定中获取字符串

Take string from data-bind inside a link

我是 JavaScript 的新手,遇到了这个问题。也许我问的问题很愚蠢,但我找不到解决方案。

我有这个:

<div class="text" id="title" data-bind=" text:display >
</div> 

我需要从数据绑定中获取字符串,替换 + 符号的空格并将其放入 link.

我需要这样的东西:

<a href="path/index.php=q?%22 "Here the string" %22 " target="iframe2">click</a>

像这样,我最终创建了一个带有数据绑定值的搜索 link。 我还需要定位 iframe2,因为我的网站分为两个 iframe。

我希望有人能帮助我。 谢谢!

考虑到您正在使用敲除,为什么不使用 attr 绑定?

<a data-bind="attr:{href:'path/index.php?q='+encodeURIComponent(display())}">click</a>

另一种选择是提供您自己的绑定处理程序:

ko.bindingHandlers.customLink = {
    init: function(element, valueAccessor, allBindings, viewModel, bindingContext){
        var val = ko.unwrap(valueAccessor());
        element.href = 'index.php?q=' + encodeURIComponent(val);
    },
    update: function(element, valueAccessor, allBindings, viewModel, bindingContext){
        var val = ko.unwrap(valueAccessor());
        element.href = 'index.php?q=' + encodeURIComponent(val);
    }
};

那么您将使用:

<a data-bind="customLink:display">click</a>