【问题标题】:knockout.js and listen to check event on checkboxknockout.js 并监听复选框上的检查事件
【发布时间】:2012-05-30 12:56:54
【问题描述】:

我试图让一个函数在选中或取消选中复选框时执行,以验证所有复选框都未选中但它永远不会被执行。我认为我做的不对。

@Html.CheckBox("Subscription", new{ data_bind="disable: Disabled, checked: Checked, click: $parent.allSubscriptionsUnchecked"} ) 

【问题讨论】:

  • 绝对没有足够的信息让任何人在不直接猜测的情况下给你一个好的答案。
  • 我不知道这是否是一个错字,但它应该是数据绑定而不是下划线。
  • 信息一定够多了,我得到了答案。
  • @kenny:下划线是必需的,否则它不是有效的 Razor 语法。下划线呈现为连字符...

标签: checkbox knockout.js


【解决方案1】:

您可以将checkedclick 绑定添加到输入。但是,您可能希望从点击处理程序中 return true;。这将允许执行默认操作(复选框将被选中/取消选中)。

这是一个示例:http://jsfiddle.net/rniemeyer/cnkVA/

另一种技术是将此逻辑推送到您的视图模型中并订阅对布尔可观察对象的更改并执行您的操作,例如:http://jsfiddle.net/rniemeyer/cnkVA/2/

【讨论】:

  • 谢谢,我的上下文也没有正确,应该是 $parents[1]。
  • 感谢“从点击处理程序返回 true”提示!
  • 第二种方式(订阅 observable)对我来说效果更好。谢谢。
  • 只是一个快速说明,在点击绑定之前有选中的绑定,否则点击绑定会在选中之前触发并得到错误的值
猜你喜欢
  • 1970-01-01
  • 2016-06-17
  • 2013-01-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-22
  • 1970-01-01
相关资源
最近更新 更多