【发布时间】:2019-05-26 16:48:26
【问题描述】:
我有一个 JQuery DataTable,其中包含用于选择项目的复选框。我加了 j JQuery 验证,这样您就无法在没有至少选中一个复选框的情况下提交表单。这是我的验证的样子:
jQuery.validator.addMethod("noApplicationSelected", function(value, element, params) { return $('.cbDisplay').length != 0; },'{0}');
$('[name="cbDisplay"]').rules('add', { noApplicationSelected: ['No checkbox selected'] });
一切正常,但我的问题是,例如,如果我在我的 DataTable 搜索中添加一个过滤器,使得不存在任何条目(空 DataTable),并且我尝试提交表单,即使我没有选择它也会提交任何复选框。 我认为这是因为验证无法绑定复选框上的规则,因为它们不存在。
我该如何解决这个问题?
编辑 1: 是否会添加一些验证来检查 DataTable 是否为空并选择复选框来解决我的问题?但是我看到的问题是我将此验证绑定到什么?我想我可以将它绑定到全选/取消全选复选框,但这没有意义
编辑 2:
【问题讨论】:
-
您不应该检查当前由 DataTables 呈现的 html 元素。而是尝试迭代 DataTable-Object 的数据。
-
您似乎过于复杂了。另外,HTML 标记在哪里?动态添加输入的代码在哪里?
-
我添加了另一个更新,希望能帮助你更好地理解我的问题@Sparky
-
除了所有这些更新之外,请仅构建一个可工作的 jsFiddle 来演示这些问题。
-
@Sparky 我添加了一个 jsFiddle 示例,在搜索中输入“a”并点击提交jsfiddle.net/mu79L32w/14
标签: javascript jquery datatables jquery-validate