gpt4 book ai didi

javascript - 如何将 onclick 事件添加到 Razor View 中的单选按钮

转载 作者:行者123 更新时间:2023-11-28 01:01:08 25 4
gpt4 key购买 nike

我有这个观点。除此之外,我想添加: onclick="javascript:SubmitClick(@Model.id,answer.Id);" 到其中 RadioButtons 的定义。

@model WebApplication2.Models.Question
<div>
@Html.HiddenFor(x => x.Id)
<h3> @Model.QuestionText </h3>
@foreach (var answer in Model.Answers) {
<p>
@Html.RadioButtonFor(b => b.SelectedAnswer, answer.Id) @answer.AnswerText
</p>
}
</div>

问题和答案是看起来像这样的模型。

 public class Question {
public int Id { set; get; }
public string QuestionText { set; get; }
public virtual ICollection<Answer> Answers { set; get; }
public string SelectedAnswer { set; get; } //this field is SET after clicking the radio button, I don't need this field ant this behaviour

}
public class Answer {
public int Id { set; get; }
public string AnswerText { set; get; }
}

据我所知,b => b.SelectedAnswer @Html.RadioButtonFor 中的这个表达式使得单击字段 SelectedAnswer 后,类 Question 将被设置。我不需要,我只需要同时选择 foreach 循环内的单选按钮之一,然后单击它们会调用 onclick="javascript:SubmitClick(@Model.id, answer.Id) ;”。它也可以以过时的方式完成,只是为了让它工作。

屏幕将有助于理解 View 的外观:

enter image description here

最佳答案

View :

@model WebApplication2.Models.Question
<div>
@Html.HiddenFor(x => x.Id)
<h3> @Model.QuestionText </h3>
<form action="">
@foreach (var answer in Model.Answers) {
<p>
<input type="radio" onclick="javascript:SubmitClick(@Model.Id, @answer.Id);">@answer.AnswerText<br>

</p>
}
</form>
</div>

脚本函数处于针对Person的强类型 View 中:

 function SubmitClick(qid, aid) {
var url = '@Url.Action("SubmitSurvey", "Person")';

$.post(url, { questionId: qid, answerId: aid, personId:@Model.Id }, function (data) {
alert('questionId: ' + qid + ' answerId ' + aid);
});
}

脚本调用的方法

  public void SubmitSurvey(int questionId, int answerId, int personId) {

System.Diagnostics.Debug.WriteLine("UPDATING DATABASE " + "Selected personId: " + personId);

}

关于javascript - 如何将 onclick 事件添加到 Razor View 中的单选按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25613737/

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