使用MVC检查至少一个自动生成jquery datatable复选框

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用MVC检查至少一个自动生成jquery datatable复选框相关的知识,希望对你有一定的参考价值。

在提交表单之前,尝试确保用户至少选中一个复选框。目前我的javascript无效。该复选框在jquery数据表中自动生成。即使没有选中表中的复选框,代码仍然会进入控制器

html

 <table id="scheduleAppointment-data-table" class="table table-striped table- bordered" style="width:100%;"></table>    
  <input type="submit" value="Send" class="btn btn-default" id=btnSubmit onclick="Validate()"/>

数据表

      // Auto generate checkbox
      "columns": [
             {
               targets": [0],
                "data": "EDMXID", "autoWidth": true,              
                 "render": function (data, type, full) {
                 return '<input type="checkbox" id="EDMXID" name="EDMXID" value="'+full.EDMXID+'"/>';
              },
               }]

使用Javascript

 function Validate() {
        var allOk = true;
     $(scheduleAppointment-data-table).find("tbody tr").each(function (){
            var row = $(this);
            var checked = row.find($(':checkbox:checked')).length > 0
            if (!checked) {
                allOk = false;
                alert('At least One Appointment Should Be Selected');
                return allOk;
            }
        });
        return allOk;
    }
答案

在Davidkonrad评论的帮助下,我终于使用了下面的JavaScript代码

 $(function () {
        $('input[id$=btnSubmit]').click(function (e) {
            $('#scheduleAppointment-data-table').find("tbody tr").each(function () {
                var row = $(this);
                var checked = row.find($(':checkbox:checked')).length > 0
                if (!checked) {
                    alert('At least One Appointment Should Be Selected');
                    e.preventDefault();
                }
            });
        });
    });

以上是关于使用MVC检查至少一个自动生成jquery datatable复选框的主要内容,如果未能解决你的问题,请参考以下文章

如何检查用户是不是使用 jQuery/Javascript 从一组复选框中选中了至少一个复选框?

asp.net mvc4 更改 jquery 版本

没有将css应用于分页mvc

检查是否在MVC C#和jQuery [duplicate]中提交表单之前选中了复选框

mvc3 + jQuery 验证:如何捕获错误或正常事件

jQuery ui 自动完成在 MVC c# 中不显示任何内容