从链接内的数据绑定中获取字符串

Take string from data-bind inside a link

本文关键字:获取 字符串 数据绑定 链接      更新时间:2023-09-26

我是JavaScript的新手,我遇到了这个问题。也许我问了一些非常愚蠢的事情,但我找不到解决方案。

我有这个:

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

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

我需要这样的东西:

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

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

我希望有人可以帮助我。谢谢!

考虑到您使用的是 KNOCKOUT,为什么不使用 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>