knockoutjs 检查绑定

2023-12-25

我遇到了问题checked绑定:单击复选框不会更新可见状态,尽管 dependentObservable 指示值已更改。

这是 HTML 片段:

<input type="checkbox" 
        data-bind="checked: document().selected" 
        title="Select one or more documents to find more similar ones" >

这与我的一个实例绑定Posting类有一个document()可观察到的。文档类的相关部分如下所示:

function Document(data, topic) {
    this.id = ko.observable(data.id);
    this.url = ko.observable(data.url);
    this.title = ko.observable(data.title);

    /** Display state **/
    this.selected = ko.observable(false);
    ko.dependentObservable(function() {
        console.log("Selected " + this.url() + " : " + this.selected());
    }, this);

}

当我单击该复选框时,控制台会打印如下内容:

Selected http://somedomain.com/doc1.pdf : true

但该复选框仍未选中。

我正在使用 jQuery 1.4.2 和淘汰赛 1.2.1

淘汰赛的其他方面似乎工作正常。当我在 jsffiddle 中隔离问题时this http://jsfiddle.net/SbuEV/,它按预期工作。关于我接下来应该测试什么有什么想法吗?

Gene

更新:2011 年 12 月 12 日 2:54(太平洋标准时间):

@RP Niemeyer:我还有很多其他的dependentObservable实例;唯一提到的selected()看起来像这样:

this.selectedDocuments = ko.dependentObservable( function() {
    return this.documents().findAll(function(doc) {return doc.selected()});
}, this);

findAll做你可能想的事。

据我所知,正在发生的事情是selected当触发该复选框时,observable 设置为 true,这会触发 dependentObservable,从而打印正确的值。但是,该视图并未更新。尽管如此,可观察对象认为它设置为 true,因为随后单击同一(取消选择)复选框不会产生任何进一步的控制台输出。

太平洋标准时间 2011 年 12 月 12 日晚上 9:45 更新:

我能够在此重现问题jsfiddle http://jsfiddle.net/SbuEV/7/。如果您编辑了封闭 div 上的单击处理程序,则复选框将正常工作。是否有解决方法,或者这是一个已知问题?


好的-有了更新就有意义了。你能做的是return true;来自外部 div 上的点击处理程序。这将允许继续执行默认操作。

http://jsfiddle.net/rniemeyer/SbuEV/8/ http://jsfiddle.net/rniemeyer/SbuEV/8/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

knockoutjs 检查绑定 的相关文章

随机推荐

  • 如何使用 Python 在 Seaborn 中保存绘图 [重复]

    这个问题在这里已经有答案了 我有一个 Pandas 数据框并尝试将绘图保存在 png 文件中 然而 似乎有些事情并没有按预期进行 这是我的代码 import pandas import matplotlib pyplot as plt im
  • 我们可以调用 va_start() 两次而不调用 va_end() 吗?

    这是我的最小示例 include
  • Jenkins Pipeline 特定阶段的触发器

    我从一开始就在使用 Jenkins 但我想做点什么 但我找不到如何做 事实上 我想用两种不同的方式触发我的项目 每 4 小时和每次提交 但对于每种情况 我不希望执行所有 Jenkinsfile 只执行某些特定阶段 是否可以使用声明式管道来做
  • 使用 Git 和 Heroku 进行正确的持续集成和持续部署

    我正在使用 heroku 和 git 开发一个 ruby on Rails 网站 我应该使用哪些工具和功能来建立以下简单的开发流程 代码 gt 签入 gt 自动测试 gt 自动部署 我将代码签入我的存储库 首选选项 托管 git 如 git
  • 确定 sprintf 缓冲区大小 - 标准是什么?

    当像这样转换 int 时 char a 256 sprintf a d 132 确定多大的最佳方法是什么a应该 我认为手动设置它是可以的 因为我已经看到它到处使用 但它应该有多大 32 位系统上可能的最大 int 值是多少 是否有一些棘手的
  • 如何在 Chart.js 中循环工具提示附加数据

    这里我有一个图表 其中包含来自数据库表的 x 轴数据和 y 轴数据 现在我面临的问题是 无论我尝试将第三个数据附加到afterbody工具提示中的回调函数 它将在每个工具提示中显示完整数据 但我想分别将这些数据附加到每个工具提示中 like
  • 主动存储种子Rails

    我想为我的数据库添加一些包含活动存储附件的实例 但我不知道如何做到这一点 我尝试了一些方法但没有成功 这是我的种子 User create email email protected cdn cgi l email protection p
  • DMCS 中的 D 代表什么?

    所以 我正在阅读有关单声道 C 编译器 http www mono project com docs about mono languages csharp 我知道这些应用程序的用途是什么 但我只是想知道缩写代表什么 另外 gmcs smc
  • Android hprov-dump 给我错误:期待 1.0.3

    我在 eclipses DDMS 中使用了转储 HPROF 文件选项 并将我的 hprof 文件命名为 in hprof 但是当我尝试执行以下操作时hprov conf in hprof out hprof从命令行它给我错误 错误 期待 1
  • 使文本块只读

    目前我在滚动查看器控件中放置了一个文本块 如何使文本块只读 文本块 http msdn microsoft com en us library system windows controls textblock aspx已经是只读的 它们旨
  • 为什么会出现错误 ORA-00937

    对于每名获得三架以上飞机认证的飞行员 找到 援助和他 或她 所乘坐的飞机的最大航程 认证为 我有四张桌子 FLIGHTS flno varchar 出发地 varchar 目的地 varchar 距离 整数 出发 日期 到达 日期 飞机 a
  • Android httpclient cookie拒绝非法路径属性

    我正在构建一个 Android 应用程序 它使用 httpclient 将数据发布到 WordPress 服务器并检索数据 由于 cookie 中的路径无效 我无法发送发布数据 这是我检索到的日志 Cookie rejected Basic
  • 高效解析大型 JSON 数组的前四个元素

    我在用Jackson从 json 解析 JSONinputStream如下所示 36 100 The 3n 1 problem 56717 0 1000000000 0 6316 0 0 88834 0 45930 0 46527 5209
  • 如何复制图像?

    我想复制image png form folder1 to folder2 怎么做 folder1 image png folder2 Thanks 尝试这样的事情 var fs require fs var inStr fs create
  • PHP包含html页面字符集问题

    使用下面的代码查询 mysql 数据库后 我生成了一个 html 文件 myFile page htm fh fopen myFile w 或 die 无法打开文件 fwrite fh row 文本 fclose fh 在 mysql 数据
  • 如何运行内存中下载的文件? [复制]

    这个问题在这里已经有答案了 可能的重复 使用 C 加载 EXE 文件并从内存中运行它 https stackoverflow com questions 3553875 load an exe file and run it from me
  • 从 C++ 中查找 python 函数参数

    我正在从 C 调用 python 函数 我想知道是否可以确定参数的数量和这些参数的名称 我已阅读链接如何从 C 语言中查找 Python 函数的参数数量 https stackoverflow com questions 1117164 h
  • 如何从最小最大算法中获取实际移动而不是移动值

    我目前正在为国际象棋编写一个带有 alpha beta 剪枝的极小极大算法 从我见过的所有示例中 极小极大算法将返回一个 int 值 该值表示最佳得分或最佳移动所产生的棋盘状态 我的问题是我们如何返回与分数返回值相关的最佳动作 例如 下面的
  • 如何将 TensorFlow (v. 2) Hub 中预训练的 KerasLayer 与 tfrecords 结合起来?

    我有一个包含 23 个类的 tfrecord 每个类有 35 张图像 总共 805 张 我当前的 tfrecord 读取函数是 def read tfrecord serialized example feature description
  • knockoutjs 检查绑定

    我遇到了问题checked绑定 单击复选框不会更新可见状态 尽管 dependentObservable 指示值已更改 这是 HTML 片段