如何基于Knockout js模型设计控件样式

How to style a control based on Knockout js model

本文关键字:控件 样式 模型 何基于 Knockout js      更新时间:2023-09-26

嗨,我有一个带有组合框的表格,用于管理多种类型的地址:

http://jsfiddle.net/JjH3x/

当添加新地址时,会启用字段以输入地址信息等。当添加或填写地址类型时,我想在组合地址类型中添加一个图标复选标记或其他东西,这样用户就知道组合中的哪些地址类型已经有数据了。

如有任何帮助,我们将不胜感激。

非常感谢

我已经分叉了你的jsFiddle,并为你举了一个如何完成这样一件事的例子-你可以在这里找到它:http://jsfiddle.net/Mw2qr/

我做的一些更改包括:

  • Address函数对象添加一个名为isComplete的新计算可观察对象(这是一个检查地址中是否所有字段都包含某些内容的对象-如果需要,可以改进/扩展逻辑)
  • 我已将valueUpdate:'afterkeydown'添加到您的表单中,以便获得即时验证
  • 最后,我添加了一些示例输出,说明哪些地址是完整的,哪些不是

不过要注意,你不应该只依赖客户端逻辑来检查是否填写了所有地址——确保你也包括一些服务器端逻辑;)

--更新

为了回答关于如何将颜色(或任何CSS样式)应用于代表"填写"地址的select option元素的问题的特定部分,我对初始jsFiddle进行了几次调整,最终结果如下:http://jsfiddle.net/Mw2qr/1/

注意,这可能是我今年最大的黑客攻击——似乎做你想做的事情需要一点jQuery的魔力(我希望可以使用纯knockoutJS来解决这个问题,但据我所知,通过阅读文档中的options绑定,你想要实现的并不是开箱即用的——然而,我的简单破解应该可以实现。它一点也不漂亮,所以我希望你(至少)会受到我的解决方案的启发,也许会想出更优雅的东西;)