我在 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);
}
});
尝试这样
selectedClassText.push($(this).parent().find('label').text());
OR
selectedClassText.push($(this).parent().next('label').text());