gpt4 book ai didi

javascript - 通过jquery获取更新值的Id

转载 作者:行者123 更新时间:2023-11-28 05:47:05 24 4
gpt4 key购买 nike

我有一个非常简单的页面,显示问题的答案。当用户单击“有用”或“无用”按钮时,我想获取该答案的 ID 并使用 jQuery 更新数据库中有用或无用的字段。我的问题是如何使用 jQuery 获取每个 AnswerId?

这是答案模型:

   public class Answer
{
public int AnswerId { get; set; }

[Required]
[StringLength(500)]
public string Reply { get; set; }

public int Useful { get; set; }

public int Useless { get; set; }
}

这是 AnswerController:

     public async Task<ActionResult> Index()
{
return(await db.Answers.toListAsync());
}

public async Task<JsonResult> Helpful(int? ansId, int? useful, int? uselees)
{
Answer model = await db.Answers.FindAsync(ansId);
if (model != null)
{
model.Useful = model.Useful + (int)useful;
model.Useless = model.Useless + (int)useless;
db.Entry(model).State = EntityState.Modified;
await db.SaveChangesAsync();
return Json(new { Success = true }, JsonRequestBehavior.AllowGet);
}
return Json(new { Success = false }, JsonRequestBehavior.AllowGet);
}

这是索引 View :

    @model IEnumerable<project.Models.Answer>

@foreach (var item in Model)
{
<table class="table">
<tr>
<td>
Reply: @item.Reply
</td>
<th>
<input type="button" id="usfBtn" value="Useful" />
</th>
<th>
<input type="button" id="uslBtn" value="Useless" />
</th>
</tr>
</table>
}

这是脚本:

    $(function() {
$("#usfBtn").click(function () {
Usf(Alarm);
});
$("#uslBtn").click(function () {
Usl(Alarm);
});
function Usf(callback) {
$.ajax(
{
type: "Get",
url: "/Answer/Helpful",
data: {
useful: 1,
useless: 0,
},
dataType: "json",
success: function (result) {
callback(result);
}
});
}
function Usl(callback) {
$.ajax(
{
type: "Get",
url: "/Answer/Helpful",
data: {
useful: 0,
useless: 1,
},
dataType: "json",
success: function (result) {
callback(result);
}
});
}
function Alarm(arg) {
if (arg.Success) {
window.location.href = window.location.pathname;
}
}
});

我的问题是,当我只有一个按钮 ID(“usfBtn”或“uslBtn”)时,如何获取每个答案的 ID?

最佳答案

您可以将答案 ID 保留为按钮的数据属性。

<table class="table">
@foreach (var item in Model)
{
<tr>
<td>
Reply: @item.Reply
</td>
<th>
<input type="button" data-aid="@item.Id" class="u"
data-mode="useful" value="Useful" />
</th>
<th>
<input type="button" data-aid="@item.Id" class="u"
data-mode="useless" value="Useless" />
</th>
</tr>
}
</table>

现在读取数据属性值并将其发送到服务器

$(function(){

$("input.u").click(function(e){
e.preventDefault();
var s= { ansId : $(this).data("aid"), useful :0, useless:0 };
if($(this).data("mode")=="useful")
{
s.useful = 1;
}
else if($(this).data("mode")=="useless")
{
s.useless = 1;
}
//post this object now
$.post("/Answer/Helpful",s,function(res){
//do something with response.
});

});

});

关于javascript - 通过jquery获取更新值的Id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38422665/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com