【问题标题】:knockoutjs 'Cart editor' example having jquery validation plug-in issue具有 jquery 验证插件问题的 knockoutjs“购物车编辑器”示例
【发布时间】:2011-10-28 23:36:01
【问题描述】:

我在http://knockoutjs.com/examples/cartEditor.html (jsFiddle - http://jsfiddle.net/rniemeyer/adNuR/) 中采用了原始的“购物车编辑器”示例,并在其中添加了 jquery 验证插件。我想验证第一个Category 选择列表以使其成为必需。所以我做了以下改动:

  • 提交按钮只是一个直接的type=submit 输入
  • 将控件包围在<form>
  • 在脚本末尾执行$("form").validate()
  • <select> 中添加了class='required'
  • data-bind 中添加了uniqueName: true

这是我制作的 jsFiddle:http://jsfiddle.net/niner/JXJtj/3/。因此,如果category 列表中没有任何内容,则验证将起作用。但是,如果我做出了有效的选择(即摩托车),当我按下“提交”时,它仍然显示“该字段是必填项。”。即使我正确选择了所有其他选项,我仍然会在 category 选择控件上收到验证错误。有人可以看看,让我知道我在这里缺少什么吗?

谢谢。

【问题讨论】:

标签: jquery jquery-validate knockout.js


【解决方案1】:

您的选项都没有值,因此验证总是失败,因为.val() 总是返回一个空字符串。您可以通过将 optionsValue: "name" 添加到您的 data-bind 表达式来为您的选项赋值:

http://jsfiddle.net/gilly3/JXJtj/4/

【讨论】:

  • 谢谢。我明白为什么需要value。在现在的示例中,第一个选择列表不会向下级联填充第二个选择列表。知道为什么添加 optionsValue: "name" 会破坏级联吗?
猜你喜欢
  • 2023-03-25
  • 1970-01-01
  • 2012-01-24
  • 1970-01-01
  • 1970-01-01
  • 2011-08-01
  • 2016-06-14
相关资源
最近更新 更多