我用这个foreach:
foreach (var item2 in RItem.GetChildItems(item.ID_Ca))
{
<div id="@idc" class="accordion-collapse collapse" aria-labelledby="headingTwo2"
data-bs-parent="#accordionExample">
<div class="accordion-body" style="background: white; padding: 5px; padding-left: 20px;">
<button id="getthis" data-id="@item2.Name_Ca" type="button" onclick="Search()"
style=" color: #0028ff; font-size: 14px;">
@item2.Name_Ca
</button>
</div>
</div>
}
当单击按钮时,我想通过jQuery将按钮的data-id发送到控制器,问题是每次单击按钮时,发送到控制器的唯一数据只是第一条记录.
<script>
function Search() {
jQuery('.loading').fadeIn();
$.ajax({
url: 'SearchProjectsItems',
type: 'post',
datatype: 'json',
data: {
Cat: $(document.getElementById('getthis')).attr('data-id')
},
error: function (err) {
alert(err.Status + "" + err.StatusText);
}
}).done(function (data) {
$('#Search_CU').html(data);
jQuery('.loading').fadeOut();
});
}
</script>
我不知道该怎么办
将您的 html 代码按钮更改为 onclick="Search('@item2.Name_Ca')" 。否则使用角度js。 $scope.arrayname[] 并填充数组,然后发送数据。另一种方法是使用 $scope.modelList 并使用 Angular foreach 填充列表。然后发送到控制器。控制器功能输入参数应该是相同的数据模型。