第一行激活仅在激活所有按钮jQuery c#中起作用

本文关键字:激活 按钮 jQuery 起作用 一行 | 更新日期: 2023-09-27 17:56:36

这是我的 c# 代码 激活全部按钮:

[WebMethod]
    public static void ActivateSelected(String Id)
    {
        clsCategoryBL objproject = new clsCategoryBL();
        string[] arr = Id.Split(',');
        string strid = arr[2];
        foreach (var id in arr)
        {
            if (!string.IsNullOrEmpty(id))
            {
                objproject.CategoryStatus(Convert.ToInt32(strid), true);
            }
        }
        BindDatatable();
    }

这是我的jquery表绑定代码:

 function ActivateSelected() {
         var ids = '';
         var cells = Array.prototype.slice.call(document.getElementById("example1").getElementsByTagName('td'));
         debugger;
         for (var i in cells) {
             var inputArray = cells[i].getElementsByTagName('input');
             for (var i = 0; i < inputArray.length; i++) {
                 if (inputArray[i].type == 'checkbox' && inputArray[i].checked == true) {
                     debugger;
                     ids += inputArray[i].id + ',';
                 }
             }
         }
         debugger;
         var urldata = "Category.aspx/ActivateSelected";
         $.ajax(
             {
                 type: "POST",
                 contentType: "application/json; charset=utf-8",

                 dataType: "json",
                 async: "true",
                 cache: "false",
                 url: urldata,
                 data: "{Id:'" + ids + "'}",
                 success: function (dt) {
                     debugger;

                     location.reload();
                     $("#example1").DataTable();
                     //$("#example1").bind;
                     debugger;
                 },
                 error: function (result) {
                     alert("Error");
                     //console.log();
                     //alert(result);
                 }
             });
     }

问题是当选中所有复选框并单击"仅激活所有"按钮时,第一行状态是激活而不是所有行状态,所以请帮助我。这是我的激活全部按钮:

 <i class="fa fa-check-square-o" name="activatebtn" onclick='ActivateSelected();' style='font-size:22px;margin-left: 32px;color:green'>Activate Selected</i>

这是用于选中所有复选框的代码:

function Selectallcheckbox() {
         var cells = Array.prototype.slice.call(document.getElementById("example1").getElementsByTagName('td'));
         var check = document.getElementById('chkall');
         if (check.checked) {
             for (var i in cells) {
                 var inputArray = cells[i].getElementsByClassName('chk');
                 for (var i = 0; i < inputArray.length; i++) {
                     inputArray[i].checked = true;
                 }
             }
         }
         else {
             for (var i in cells) {
                 var inputArray = cells[i].getElementsByClassName('chk');
                 for (var i = 0; i < inputArray.length; i++) {
                     inputArray[i].checked = false;
                 }
             }
         }
     }

我认为问题出在这里(c#):

 string strid = arr[2];

在斯特里德,只有一个id来了。并且只有一个 id 绑定在

objproject.CategoryStatus(Convert.ToInt32(strid), true);

如果我在上面行使用 Id 而不是 strid 它会由于最后一个逗号而为我提供错误。输入字符串的格式不正确。.

第一行激活仅在激活所有按钮jQuery c#中起作用

编辑此行以objproject.CategoryStatus(Convert.ToInt32(id), true);我已经更改了stridid foreach 循环变量。