如何将复选框的选定文本传递到剃刀页面上的操作结果?

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

我在 asp.net core razor 页面工作。我将选定的 id 作为数组成功传递

但我的问题为复选框选择的文本值未通过或显示

此线路发生问题

selectedClassText.push($(this).next('label').text());

调试操作结果时

string[] classidsText
显示null。

确切地说,我需要将复选框旁边的选定文本作为数组传递。

获取类 ID 文本的 razor 页面 .cs

    public JsonResult OnGetSubAccountClassName(string[] classIds,string[] classidsText)
{
    var assetsSubAccountName = _IAssetsService.GetJdeAssetSubAccountClassName(classIds);
    AssetCountGeneration.JDEAssetSubAccountClassNameDetails = assetsSubAccountName;
    return new JsonResult(assetsSubAccountName);
}

从 cshtml 页面上的 jQuery ajax 我通过

selectedClassText

发送选定的显示文本
    $(document).on('change', '.classCheckbox', function () {
      var selectedClassIds = [];
      var selectedClassText = [];
$('.classCheckbox:checked').each(function () {
    selectedClassIds.push($(this).val());
    selectedClassText.push($(this).next('label').text());
});
      console.log("selected items" + selectedClassIds)
      if (selectedClassIds.length > 0) {
          $.ajax({
              url: '?handler=SubAccountClassName',
              type: 'GET',
              traditional: true,
              data: { classIds: selectedClassIds,classidsText:selectedClassText },
              success: function (response) {
                  $('#subClassesList').empty();
                  $('#subClassesContainer').show();
                 
                  var subClassesContainer = $('<div data-class-id="' + selectedClassIds + '"></div>');
                  $.each(response, function (i, item) {
                      $(subClassesContainer).append('<input type="checkbox" class="subclassCheckbox" name="selectedSubClasses" value="' + item.subClassAccountId + '" /> ' + item.subClassAccountName + '<br />');
                  });
                  $('#subClassesList').append(subClassesContainer);
              }
          });
jquery css ajax asp.net-core razor-pages
1个回答
0
投票

尝试这样

selectedClassText.push($(this).parent().find('label').text());

                            OR

selectedClassText.push($(this).parent().next('label').text());
© www.soinside.com 2019 - 2024. All rights reserved.