【问题标题】:Why is my popover textarea + data-binded text empty, knockout.js + bootstrap为什么我的popover textarea +数据绑定文本为空,knockout.js + bootstrap
【发布时间】:2013-06-09 03:40:03
【问题描述】:

我想在用户可以选择的文本区域中显示带有文本的弹出框。让文本区域显示没有问题,但我无法让我的数据绑定文本显示。我错过了什么?

HTML

    <a class="shareVidBtn" data-toggle="popover" data-bind="attr: { 'data-title': $$.LR.Title,'data-content':'<textarea class=input-block-level  data-bind=attr:{text:'+$$.paths.root+'/Page?ID='+ID()+'}></textarea>'}" rel="popover" data-html="true">

JS

      $("[rel='popover']").popover();

谢谢!

解决方案(感谢 Posthuma 指出正确的方向)

    <a class="shareVidBtn" data-toggle="popover" data-bind="attr: { 'data-title': $$.LR.Title, 'data-content': '<textarea class=input-block-level></textarea>' }, shareVid:$$.paths.root + 'Page?ID=' + ID()" rel="popover" data-html="true">

淘汰自定义绑定

     ko.bindingHandlers.shareVid = {
            init: function (element, valueAccessor) {
                var value = valueAccessor();
                setTimeout(function () { 
                    $(element).click(function(){
                        $(this).parent().children().last().find('textarea').val(value);
                    });
                });
            }
        }

【问题讨论】:

    标签: twitter-bootstrap knockout.js


    【解决方案1】:

    当您应用绑定时,您在 textarea 中附加的元素在 DOM 上不存在。

    您需要对此元素应用绑定,或通过custom binding handler 处理此问题。

    【讨论】:

    • 我希望我不需要使用自定义绑定,我只做过一个,我不知道为什么,但我发现它们真的很混乱。我会试一试并发布我的结果。谢谢!
    • 我想通了,请检查 OP 了解我是如何做到的。感谢指导
    猜你喜欢
    • 1970-01-01
    • 2012-06-22
    • 2014-11-04
    • 1970-01-01
    • 2014-10-20
    • 2012-05-21
    • 2016-07-27
    • 2012-11-04
    • 1970-01-01
    相关资源
    最近更新 更多