【问题标题】:stop data-bind event in click method在点击方法中停止数据绑定事件
【发布时间】:2013-02-18 12:01:41
【问题描述】:

我有一个复选框,它会在文本框上进行验证,并且数据绑定到视图模型。

这是我的Fiddle

<input id="checkbox1" type="checkbox" data-bind="checked: viewitems">Checkbox</input>

我希望复选框在单击事件返回 false 值时不进行数据绑定。

有没有办法做到这一点?

提前致谢。

【问题讨论】:

  • 我不能说我特别理解这个问题,你的jsFiddle没有帮助。如果 click 函数返回 false,为什么不希望 observable 绑定到复选框?
  • 复选框导致文本框验证。如果验证返回 false,则不应发生绑定事件。只有当验证事件返回 true 时才会发生绑定
  • 我的意思是,你为什么要这样做?这样做似乎有点奇怪,所以我想知道这是否是您试图解决您在代码中遇到的另一个问题的尝试。如果是这样,那么也许我们可以想出一个更好的方法来解决这个问题。
  • 我的应用程序有一个 datetimepicker,在它下面有一个复选框,可以根据 datetimepicker 的值打开更多选项。当用户在选择日期之前选择复选框时,验证然后被触发以警告未选择日期的用户。但目前验证被正确触发,但选项也显示没有选择日期。

标签: jquery knockout.js jquery-validate


【解决方案1】:

你不能只在你的点击方法中设置你的 observable 的值吗?

$('#checkbox1').click(function ()
{
    if (!$('#textbox1').valid())
    {
        viewitems(false)
        alert("Please enter value");
        return;
    }
    else
    {
        viewitems(true)
    }
});

【讨论】:

  • 不适合我。我只是不想在值为 false 时绑定该值。
  • 我真的不认为你可以做到这一点,即使有办法做到这一点,也没有任何意义。
  • @JanGous 好的,然后试试这个答案。
猜你喜欢
  • 2013-06-21
  • 1970-01-01
  • 1970-01-01
  • 2016-05-09
  • 1970-01-01
  • 1970-01-01
  • 2014-01-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多