为什么我的popover textarea +数据绑定文本为空,knockout.js + bootstrap

时间:2013-06-12 21:12:04

标签: twitter-bootstrap knockout.js

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

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);
                    });
                });
            }
        }

1 个答案:

答案 0 :(得分:0)

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

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