如何使用 java 脚本传递已选中复选框的 LICN_CIVIL_ID 列表(以 true 分隔逗号)?

问题描述 投票:0回答:1

我使用java脚本工作,我使用JavaScript在网格视图上显示数据,并在网格视图上显示成功

gvResults 
使用函数GET_WORLD_BANK_LICN_DATA_REP()

因此数据使用下面的函数在网格视图 gvResults 上显示成功,没有任何问题

我的问题是如何将复选框选中为 true 的所选

P_LICNS_CURInfo[i].LICN_CIVIL_ID
列表从网格视图传递到按钮

作为分隔逗号,按下按钮时

getselected_civilid
btnRequestSearch

所以假设我显示数据并选择选中

P_LICNS_CURInfo[i].LICN_CIVIL_ID
的复选框为 1245,4321,7891,9918

然后当按下下面的按钮时,它将传递给函数 getselected_civilid() 作为“1245”,“4321”,“7891”,“9918”:

<button type="button" id="btnRequestSearch" class="btn btn-outline-primary col-12" onclick="getselected_civilid();return false;">
                            <span style="font-size: 28px;">print</span><i class="far fa-hand-point-up fa-fw fa-2x pull-center"></i>
                        </button>
function getselected_civilid()
{
}

使用 java 脚本在网格视图上显示数据时执行下面的代码

function GET_WORLD_BANK_LICN_DATA_REP() {
  debugger
  var P_ACT_ID_LIST = $('#ddl_activities').val();
  var P_LICN_COUNT = $('#txtcountlicense').val();
  var P_EXPIRY_YEAR = $('#txt_year').val();

  $.ajax({
    type: "POST",
    contentType: "application/json; charset=utf-8",
    url: "../BusinessLayer/WebMethods.asmx/GET_WORLD_BANK_LICN_DATA_REP",
    data: "{'P_ACT_ID_LIST':'" + P_ACT_ID_LIST + "','P_LICN_COUNT':'" + P_LICN_COUNT + "','P_EXPIRY_YEAR':'" + P_EXPIRY_YEAR + "'}",
    dataType: "json",
    beforeSend: function(xhr) {
      xhr.setRequestHeader("STicket", MYLIBRARY.ReturnTicket());

      $("#gvResults").empty();
    },
    success: function(Result) {
      CloseLoading();

      $.each(Result.d, function(key, value) {
        if (value.Status == "1") {
          if (value.P_LICNS_CURInfo != null) {
            if (value.P_LICNS_CURInfo.length > 0) {
              var rowNo = 0;
              for (var i in value.P_LICNS_CURInfo) {
                var row = "<tr align='center' id='tr" + (rowNo + 1) + "' class='record'> " + "<td class='tdCount'>" +
                  (rowNo + 1) + "</td><td>" +
                  value.P_LICNS_CURInfo[i].comm_book_no + "</td> <td>" +
                  value.P_LICNS_CURInfo[i].LICN_COMM_NO + "</td> <td>" +
                  value.P_LICNS_CURInfo[i].LICN_CIVIL_ID + "</td> <td>" +
                  value.P_LICNS_CURInfo[i].LEGAL_STRACTURE_DESC + "</td> <td>" +
                  value.P_LICNS_CURInfo[i].ADDRESS_GOV_DESC + "</td> <td>" +
                  value.P_LICNS_CURInfo[i].MAIL + "</td>" +
                  "<td><input type='checkbox' name='statusCheckbox' value='" + value.P_LICNS_CURInfo[i].LICN_CIVIL_ID + "' /></td></tr>";

                row = $(row).hide();
                $('#gvResults').append($(row));
                rowNo++;
                $(row).fadeIn(1000);
              }
            }
          }
        } else {
          ModelSuccessDanger('???? !!', value.StatusDesc, '0', null);
        }
      });
    },
    error: function(msg, status) {
      CloseLoading();
      if (status === "error") {
        var errorMessage = $.parseJSON(msg.responseText);
      
      }
    }
  });
}
javascript html jquery gridview datatable
1个回答
0
投票

使用

.map()
循环遍历所有选定的复选框,并获取同一行中
LICN_CIVIL_ID
列的内容。

function getselected_civilid()
{
  const selected_rows = $(":checkbox[name='statusCheckbox']:checked").closest(".record");
  const civil_ids = selected_rows.map((i, row) => row.cells[3].textContent).get().join(",");
  // do something with civil_ids
}

© www.soinside.com 2019 - 2024. All rights reserved.