【问题标题】:Hide/show button and link alternatively ? KnockOut隐藏/显示按钮和链接交替?昏死
【发布时间】:2014-05-20 20:37:14
【问题描述】:

我一直在努力隐藏/显示哪些简单的变化。

第一阶段: 我最初有一个链接(评论),当我单击它时,我需要在文本区域的右下方显示一个带有按钮的文本区域,并且此处的链接按钮进入隐藏状态。

第二阶段: 稍后当我单击按钮(POST)时,文本区域和按钮应该消失并且链接应该可见

到目前为止我尝试过的东西:

HTML:

<a href="#" data-bind="click: showBox">Comment</a>

<input type="textarea" data-bind="visible: show"/>
<input type='button' data-bind="visible: show"  value="show"/>

KnockOutjs:

var viewModel = function()
{
    self = this;
    self.show =  ko.observable(false);
    self.showBox = function(){
    self.show(true); 
     };
}

ko.applyBindings(new viewModel());

最初,当我单击评论时,我正在显示文本框和按钮,但我无法隐藏链接(评论)。可能当我单击按钮 textarea 和按钮应该隐藏和评论链接应该出现。

Ps:我是淘汰赛的业余选手,帮帮我。谢谢你

问候

【问题讨论】:

  • 添加一个名为 hideBox 的新函数,它设置 self.show(false)。将此设置为 textarea 按钮的单击绑定处理程序。将可见绑定添加到锚标记,例如“可见:!show()”。

标签: javascript jquery html knockout.js


【解决方案1】:

您需要做的就是将可见属性添加到您的链接。仅在 show() 为 false 时显示!

<a href="#" data-bind="click: showBox, visible: show() === false">Comment</a>

【讨论】:

  • 一种工作正常的方式。当我们单击链接文本区域和按钮显示时,但以其他方式单击按钮时,我必须再次显示链接。任何进一步的澄清让我知道
  • 在返回途中的更新按钮功能上,只需设置 self.show(false);那就是坐着,简单! :-)
  • 哎呀,它工作正常,但我收到错误,即 showBox undefined ?可见:show() === false ? .未定义的异常来了。我需要创建模型吗?
  • 由于小提琴是有效的,需要确定您在自己的代码和示例中实际执行的操作的区别。
  • 把你的 html 文件和 js 代码发给我,如果它不起作用,你可以从我的个人资料中获取我的电子邮件地址!
【解决方案2】:

您可以像这样交替显示视图状态。

self.showBox = function(){
   self.show(!self.show()); 
};

【讨论】:

  • 运气不好。它不工作。它像一个切换开关一样工作,但我不需要它。链接和按钮应该隐藏/显示,就像我点击带有文本区域的链接按钮时应该出现的评论链接应该隐藏自己。稍后当我单击按钮评论评论链接应该显示和按钮和 textarea 应该隐藏。有什么清楚的告诉我
猜你喜欢
  • 2017-01-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-10
  • 1970-01-01
  • 2013-12-07
  • 2021-06-05
  • 1970-01-01
相关资源
最近更新 更多