javascript - onchange htmlattribute 不会将模型属性传递给 js 函数
问题描述
我想从局部视图的下拉列表中获取用户输入,并将其传递给索引页面中的 js 函数,以根据 QuestionType 属性的值过滤掉结果。因此,视图模型如下所示:
public class TestQuestionModel
{
public Guid TestId { get; set; }
public Guid QuestionId { get; set; }
public string Id { get; set; }
public string QuestionType { get; set; }
}
Razor 页面中的下拉列表如下所示:
@model ICollection<Lab.Quiz.BL.Services.TestCardService.Models.TestQuestionModel>
...
@Html.DropDownList("QuestionType", new SelectListItem[]
{
new SelectListItem() {Text = "Single Selection Question", Value = "SingleSelectionQuestion", Selected = true},
new SelectListItem() {Text = "Multiple Answers Question", Value = "MultipleAnswerQuestion"},
new SelectListItem() {Text = "Open Answer Question", Value = "OpenAnswerQuestion"},
new SelectListItem() {Text = "Program Code Question", Value = "ProgramCodeQuestion"}
},
new
{
onchange = "filterQuestions('{@Model.FirstOrDefault()?.TestId.ToString()}', this.value)"
})
索引页面上的功能如下所示:
function filterQuestions(testId, questionType) {
alert("called");
$.ajax({
url: "Home/Filter",
data: { testId: testId, questionType: questionType },
type: 'GET',
dataType: 'html',
success: function (result) {
$("#questionsDiv").html(result);
}
});
不幸的是,该函数不会被调用。但是,如果我将函数更改为仅接受一个属性,并相应地将函数调用更改为仅包含一个属性 ( this.value ),它会按预期工作。关于如何从 @Html.DropdownList 传递的任何建议不仅是它的值,还有模型的属性?
解决方案
推荐阅读
- sql - Trying to get Start Time and End Time of a meeting in a Table
- jupyter-notebook - Interact.jl 无法在 Jupyter notebook + Julia 中创建小部件
- c++ - 确定“从文件输入”问题的后续步骤
- python - TypeError:需要一个类似字节的对象,而不是'str'我如何从str转到字节
- sql - 识别userId是否在sql中的字符串末尾包含数字
- javascript - REACT NATIVE - 使用自定义组件在应用屏幕上触发模式
- python - 我应该如何绘制 XYZ 数据点以在 python 中创建 RGB 深度图像
- reactjs - 如果导航到新路径,则更改 React 状态
- java - Android/Java 应用程序 - 如何正确调用片段中的活动函数?
- input - Snakemake:{input:q} 不返回带引号的输入