【问题标题】:Knockout - doubling value in a focused textbox淘汰赛 - 在重点文本框中加倍价值
【发布时间】:2015-01-19 09:07:07
【问题描述】:

我有一个可观察数组绑定到表的淘汰模型。我想要一个按钮,当单击该按钮时,焦点文本框的值会加倍。我想这样做,而不需要为每个文本框或每个可观察的 ko 创建一个可观察的“hasFocus”。我遇到的几个问题:-

  • 如果按钮只是直接使用 jQuery 编辑文本框的值,ko 值不会得到更新。我需要一种方法来告诉按钮更改基础值
  • 如果我关注文本框然后单击按钮,文本框上的焦点会丢失,因此客户端也不记得关注的是哪个文本框

【问题讨论】:

  • 但是单击按钮时文本框不会失去焦点吗?用户界面似乎非常不直观。通常每个文本框都有一个按钮
  • 我同意@Wayne。您需要为每个文本框设置一个按钮,或者在文本框旁边放置一个单选按钮以指示您要使用哪个按钮。将焦点用于这样的事情很奇怪。用户首先必须点击文本框,然后点击页面其他地方的按钮?
  • 另外 - 使用 jQuery 更新文本框值 - 不要。更新支持文本框的 observable。这就是首先使用淘汰赛的意义所在。
  • 有效点 - 它也确实看起来不直观,但如果你有大约 50 个文本框,在每个文本框下方放置复选框或单选按钮会更奇怪。有什么更好的选择?
  • @Ronbear 很难说没有看到页面的设计/特性/功能。如果这是它需要的工作方式,也许可以使用 Rune 的答案与应用于最后一个焦点元素的视觉样式相结合。

标签: javascript jquery knockout.js


【解决方案1】:

在焦点和模糊上对输入进行事件绑定,设置和清除一个可观察到的可跟踪哪些输入处于活动状态。 单击按钮时,您知道要加倍的值

【讨论】:

  • 你也可以在没有焦点时禁用双按钮
猜你喜欢
  • 2014-12-06
  • 2019-01-07
  • 1970-01-01
  • 2014-07-23
  • 1970-01-01
  • 2016-06-13
  • 2015-11-05
  • 2014-01-05
  • 2012-12-07
相关资源
最近更新 更多