1 回答

TA貢獻1891條經驗 獲得超3個贊
對于你原來的問題,我看到你已經編輯了它,因為你已經從 ids 更改為類,正如 Emiel Zuurbier 所評論的那樣。
您仍然遇到的問題在這里:
var item1 = $('.nomeVino').val();
var item2 = $('.tipoVino').val();
這將始終檢索 DOM 中找到的類“nomeVino”和“tipoVino”的第一個項目的值。在 ajax 請求中向后端發送數據時,您正在使用變量 item1 和 item2,因此無論按哪個按鈕,您都將始終發送相同的值。
由于您已經在使用 jQuery,我建議使用數據屬性。以下是使用 data- 屬性的 HTML 的示例:
<ul>
@foreach(var item in ViewBag.Vini)
{
<li class="col-lg-12 col-sm">
<button type="button" class="btnPost" data-tipo-vino="@item.TipoVino" data-nome-vino="@item.NomeVino" value="@item.NomeVino">@item.NomeVino</button>
</li>
}
</ul>
你的 js 看起來像這樣:
$(document).ready(function () {
$('.btnPost').on('click', function (event) {
document.getElementById("text1").style.display = "none";
document.getElementById("text1").style.display = "block";
var item1 = $(event.target).data('nome-vino');
var item2 = $(event.target).data('tipo-vino');
$.ajax({
type: "POST",
url: "?handler=Send",
beforeSend: function (xhr) {
xhr.setRequestHeader("XSRF-TOKEN",
$('input:hidden[name="__RequestVerificationToken"]').val());
},
data: JSON.stringify({
Item1: item1,
Item2: item2
}),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response) {
var dvItems = $("#text");
dvItems.empty();
$.each(response, function (i, item) {
var $tr = $('<p id=par' + i + '>').append(item).appendTo(dvItems);
});
},
failure: function (response) {
alert(response);
}
});
})});
添加回答
舉報